Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(249)

Unified Diff: chrome/browser/task_manager/providers/task.cc

Issue 2905403002: plumb network upload into the task manager (Closed)
Patch Set: fixed spelling/parellelism issues Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/task_manager/providers/task.cc
diff --git a/chrome/browser/task_manager/providers/task.cc b/chrome/browser/task_manager/providers/task.cc
index a49032f6875cd6612cc2777b5606b34ff56d9356..950c958f4959d4299a1b143d08415ca121886b66 100644
--- a/chrome/browser/task_manager/providers/task.cc
+++ b/chrome/browser/task_manager/providers/task.cc
@@ -30,8 +30,12 @@ Task::Task(const base::string16& title,
base::ProcessHandle handle,
base::ProcessId process_id)
: task_id_(g_last_id++),
- network_usage_(-1),
- current_byte_count_(-1),
+ last_refresh_cumulative_bytes_sent_(0),
+ last_refresh_cumulative_bytes_read_(0),
+ cumulative_bytes_sent_(-1),
ncarter (slow) 2017/06/14 20:20:58 I have a hunch that this code would come out easie
cburn 2017/06/16 21:52:26 I agree that this makes more sense. I am unsure if
+ cumulative_bytes_read_(-1),
+ network_sent_rate_(0),
+ network_read_rate_(0),
title_(title),
rappor_sample_name_(rappor_sample),
icon_(icon ? *icon : gfx::ImageSkia()),
@@ -73,21 +77,44 @@ void Task::Refresh(const base::TimeDelta& update_interval,
if ((refresh_flags & REFRESH_TYPE_NETWORK_USAGE) == 0)
return;
- if (current_byte_count_ == -1)
+ if (cumulative_bytes_sent_ == -1 && cumulative_bytes_read_ == -1)
return;
- network_usage_ =
- (current_byte_count_ * base::TimeDelta::FromSeconds(1)) / update_interval;
+ int64_t current_cycle_read_byte_count =
+ cumulative_bytes_read_ - last_refresh_cumulative_bytes_read_;
+ network_read_rate_ = 0;
+ if (cumulative_bytes_read_ != -1) {
+ network_read_rate_ =
+ (current_cycle_read_byte_count * base::TimeDelta::FromSeconds(1)) /
+ update_interval;
+ }
- // Reset the current byte count for this task.
- current_byte_count_ = 0;
+ int64_t current_cycle_sent_byte_count =
+ cumulative_bytes_sent_ - last_refresh_cumulative_bytes_sent_;
+ network_sent_rate_ = 0;
+ if (cumulative_bytes_sent_ != -1) {
+ network_sent_rate_ =
+ (current_cycle_sent_byte_count * base::TimeDelta::FromSeconds(1)) /
+ update_interval;
+ }
+ last_refresh_cumulative_bytes_read_ = cumulative_bytes_read_;
+ last_refresh_cumulative_bytes_sent_ = cumulative_bytes_sent_;
}
void Task::OnNetworkBytesRead(int64_t bytes_read) {
- if (current_byte_count_ == -1)
- current_byte_count_ = 0;
+ if (cumulative_bytes_read_ == -1) {
+ cumulative_bytes_read_ = 0;
+ }
+
+ cumulative_bytes_read_ += bytes_read;
+}
+
+void Task::OnNetworkBytesSent(int64_t bytes_sent) {
+ if (cumulative_bytes_sent_ == -1) {
+ cumulative_bytes_sent_ = 0;
+ }
- current_byte_count_ += bytes_read;
+ cumulative_bytes_sent_ += bytes_sent;
}
void Task::GetTerminationStatus(base::TerminationStatus* out_status,
@@ -147,8 +174,10 @@ int Task::GetKeepaliveCount() const {
return -1;
}
+// If either bytes have been sent or bytes have been read by the task
+// the network has been used
ncarter (slow) 2017/06/14 20:20:58 I think this comment is probably better moved to i
cburn 2017/06/16 21:52:26 Deleted since we removed the -1 flag.
bool Task::ReportsNetworkUsage() const {
- return network_usage_ != -1;
+ return cumulative_bytes_read_ != -1 || cumulative_bytes_sent_ != -1;
}
} // namespace task_manager

Powered by Google App Engine
This is Rietveld 408576698