diff options
author | vadimt <vadimt@chromium.org> | 2014-12-12 08:21:49 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-12 16:22:04 +0000 |
commit | da2e8a634f21c417d78a549d873c49ce7e7d1452 (patch) | |
tree | 29ba5473c03905a5187f1405d4760af79f038bf9 | |
parent | dd811e66bb623d2f80bbe85ad43396eeafa6f6a7 (diff) | |
download | chromium_src-da2e8a634f21c417d78a549d873c49ce7e7d1452.zip chromium_src-da2e8a634f21c417d78a549d873c49ce7e7d1452.tar.gz chromium_src-da2e8a634f21c417d78a549d873c49ce7e7d1452.tar.bz2 |
Instrumenting IOComplete internals to find jank.
Instrumenting IOComplete internals to find jank.
From prior instrumentations, the jank turned to be in
QuicStreamFactory::Job::OnIOComplete - 26 jps
and
TransportConnectJobHelper::OnIOComplete - 7 jph
Instrumentation of the callback of QuicStreamFactory::Job::OnIOComplete is covered by CL https://codereview.chromium.org/789483004/.
This CL instruments the rest.
BUG=436634
Review URL: https://codereview.chromium.org/792233002
Cr-Commit-Position: refs/heads/master@{#308096}
-rw-r--r-- | net/socket/client_socket_pool_base.cc | 6 | ||||
-rw-r--r-- | net/socket/transport_client_socket_pool.h | 6 | ||||
-rw-r--r-- | net/socket/websocket_transport_client_socket_pool.cc | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc index 9e1abf4..4092365 100644 --- a/net/socket/client_socket_pool_base.cc +++ b/net/socket/client_socket_pool_base.cc @@ -9,6 +9,7 @@ #include "base/logging.h" #include "base/message_loop/message_loop.h" #include "base/metrics/stats_counters.h" +#include "base/profiler/scoped_tracker.h" #include "base/stl_util.h" #include "base/strings/string_util.h" #include "base/time/time.h" @@ -865,6 +866,11 @@ bool ClientSocketPoolBaseHelper::FindTopStalledGroup( void ClientSocketPoolBaseHelper::OnConnectJobComplete( int result, ConnectJob* job) { + // TODO(vadimt): Remove ScopedTracker below once crbug.com/436634 is fixed. + tracked_objects::ScopedTracker tracking_profile( + FROM_HERE_WITH_EXPLICIT_FUNCTION( + "436634 ClientSocketPoolBaseHelper::OnConnectJobComplete")); + DCHECK_NE(ERR_IO_PENDING, result); const std::string group_name = job->group_name(); GroupMap::iterator group_it = group_map_.find(group_name); diff --git a/net/socket/transport_client_socket_pool.h b/net/socket/transport_client_socket_pool.h index bcc369f..2deb947 100644 --- a/net/socket/transport_client_socket_pool.h +++ b/net/socket/transport_client_socket_pool.h @@ -326,6 +326,12 @@ void TransportConnectJobHelper::OnIOComplete(T* job, int result) { "436634 TransportConnectJobHelper::OnIOComplete")); result = this->DoLoop(job, result); + + // TODO(vadimt): Remove ScopedTracker below once crbug.com/436634 is fixed. + tracked_objects::ScopedTracker tracking_profile1( + FROM_HERE_WITH_EXPLICIT_FUNCTION( + "436634 TransportConnectJobHelper::OnIOComplete1")); + if (result != ERR_IO_PENDING) job->NotifyDelegateOfCompletion(result); // Deletes |job| and |this| } diff --git a/net/socket/websocket_transport_client_socket_pool.cc b/net/socket/websocket_transport_client_socket_pool.cc index 15ec028..ec83529 100644 --- a/net/socket/websocket_transport_client_socket_pool.cc +++ b/net/socket/websocket_transport_client_socket_pool.cc @@ -9,6 +9,7 @@ #include "base/compiler_specific.h" #include "base/logging.h" #include "base/numerics/safe_conversions.h" +#include "base/profiler/scoped_tracker.h" #include "base/strings/string_util.h" #include "base/time/time.h" #include "base/values.h" @@ -630,6 +631,11 @@ void WebSocketTransportClientSocketPool::ConnectJobDelegate::OnConnectJobComplete( int result, ConnectJob* job) { + // TODO(vadimt): Remove ScopedTracker below once crbug.com/436634 is fixed. + tracked_objects::ScopedTracker tracking_profile( + FROM_HERE_WITH_EXPLICIT_FUNCTION( + "436634 WebSocket...::ConnectJobDelegate::OnConnectJobComplete")); + owner_->OnConnectJobComplete(result, static_cast<WebSocketTransportConnectJob*>(job)); } |