Index: chrome/browser/task_manager/sampling/task_manager_io_thread_helper.cc |
diff --git a/chrome/browser/task_manager/sampling/task_manager_io_thread_helper.cc b/chrome/browser/task_manager/sampling/task_manager_io_thread_helper.cc |
index ae0166762d8d73d1407e48ed7fe0246422266962..f101981890155f789410d979d9b2d1b72e8baa36 100644 |
--- a/chrome/browser/task_manager/sampling/task_manager_io_thread_helper.cc |
+++ b/chrome/browser/task_manager/sampling/task_manager_io_thread_helper.cc |
@@ -59,8 +59,23 @@ void TaskManagerIoThreadHelper::OnRawBytesRead(const net::URLRequest& request, |
int64_t bytes_read) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
- if (g_io_thread_helper) |
- g_io_thread_helper->OnNetworkBytesRead(request, bytes_read); |
+ if (g_io_thread_helper) { |
+ int64_t bytes_sent = 0; |
+ g_io_thread_helper->OnNetworkBytesTransfered(request, bytes_read, |
+ bytes_sent); |
ncarter (slow)
2017/06/17 00:21:01
You can also consider using this style:
OnNetwork
cburn
2017/06/19 22:07:08
Acknowledged.
|
+ } |
+} |
+ |
+// static |
+void TaskManagerIoThreadHelper::OnRawBytesSent(const net::URLRequest& request, |
+ int64_t bytes_sent) { |
+ DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
+ |
+ if (g_io_thread_helper) { |
+ int64_t bytes_read = 0; |
+ g_io_thread_helper->OnNetworkBytesTransfered(request, bytes_read, |
+ bytes_sent); |
+ } |
} |
TaskManagerIoThreadHelper::TaskManagerIoThreadHelper() : weak_factory_(this) { |
@@ -71,24 +86,25 @@ TaskManagerIoThreadHelper::~TaskManagerIoThreadHelper() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
} |
-void TaskManagerIoThreadHelper::OnMultipleBytesReadIO() { |
+void TaskManagerIoThreadHelper::OnMultipleBytesTransferedIO() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
- DCHECK(!bytes_read_buffer_.empty()); |
+ DCHECK(!bytes_transfered_buffer_.empty()); |
- std::vector<BytesReadParam>* bytes_read_buffer = |
- new std::vector<BytesReadParam>(); |
- bytes_read_buffer_.swap(*bytes_read_buffer); |
+ std::vector<BytesTransferedParam>* bytes_read_buffer = |
+ new std::vector<BytesTransferedParam>(); |
+ bytes_transfered_buffer_.swap(*bytes_read_buffer); |
content::BrowserThread::PostTask( |
- content::BrowserThread::UI, |
- FROM_HERE, |
- base::Bind(&TaskManagerImpl::OnMultipleBytesReadUI, |
+ content::BrowserThread::UI, FROM_HERE, |
+ base::Bind(&TaskManagerImpl::OnMultipleBytesTransferedUI, |
base::Owned(bytes_read_buffer))); |
} |
-void TaskManagerIoThreadHelper::OnNetworkBytesRead( |
- const net::URLRequest& request, int64_t bytes_read) { |
+void TaskManagerIoThreadHelper::OnNetworkBytesTransfered( |
+ const net::URLRequest& request, |
+ int64_t bytes_read, |
+ int64_t bytes_sent) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
// Only net::URLRequestJob instances created by the ResourceDispatcherHost |
@@ -107,7 +123,7 @@ void TaskManagerIoThreadHelper::OnNetworkBytesRead( |
// plugins - for renderer or browser initiated requests it will be zero. |
int origin_pid = info ? info->GetOriginPID() : 0; |
- if (bytes_read_buffer_.empty()) { |
+ if (bytes_transfered_buffer_.empty()) { |
// Schedule a task to process the received bytes requests a second from now. |
// We're trying to calculate the tasks' network usage speed as bytes per |
// second so we collect as many requests during one seconds before the below |
@@ -115,13 +131,13 @@ void TaskManagerIoThreadHelper::OnNetworkBytesRead( |
// after one second from now. |
content::BrowserThread::PostDelayedTask( |
content::BrowserThread::IO, FROM_HERE, |
- base::Bind(&TaskManagerIoThreadHelper::OnMultipleBytesReadIO, |
+ base::Bind(&TaskManagerIoThreadHelper::OnMultipleBytesTransferedIO, |
weak_factory_.GetWeakPtr()), |
base::TimeDelta::FromSeconds(1)); |
} |
- bytes_read_buffer_.push_back( |
- BytesReadParam(origin_pid, child_id, route_id, bytes_read)); |
+ bytes_transfered_buffer_.push_back(BytesTransferedParam( |
+ origin_pid, child_id, route_id, bytes_read, bytes_sent)); |
} |
} // namespace task_manager |