diff options
author | mbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-28 22:10:31 +0000 |
---|---|---|
committer | mbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-28 22:10:31 +0000 |
commit | bbbfeff3dc729802a44395a698242371d7a74ee2 (patch) | |
tree | 1a011f78764c6d06f9c48923a05446f9e94a793b | |
parent | 172acc45664c67f6ec10a13a7f14da3bc4589f68 (diff) | |
download | chromium_src-bbbfeff3dc729802a44395a698242371d7a74ee2.zip chromium_src-bbbfeff3dc729802a44395a698242371d7a74ee2.tar.gz chromium_src-bbbfeff3dc729802a44395a698242371d7a74ee2.tar.bz2 |
Fixup some connection time measurements.
- Net.TCP_Connection_Latency
Time to connect only
- Net.DNS_Resolution_And_TCP_Connection_Latency2
Time to do DNS and Connect
- Net.HttpConnectionLatency
Time for HTTP to connect (includes all delays, DNS, Queue, TCP, etc)
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/517014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35316 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | net/http/http_network_transaction.cc | 4 | ||||
-rw-r--r-- | net/socket/tcp_client_socket_pool.cc | 15 | ||||
-rw-r--r-- | net/socket/tcp_client_socket_pool.h | 5 |
3 files changed, 18 insertions, 6 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index d61188a..a58b8e1 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -1150,8 +1150,8 @@ void HttpNetworkTransaction::LogTCPConnectedMetrics( !FieldTrial::MakeName("", "SocketLateBinding").empty(); if (handle.reuse_type() == ClientSocketHandle::UNUSED) { - UMA_HISTOGRAM_CLIPPED_TIMES( - "Net.Dns_Resolution_And_TCP_Connection_Latency", + UMA_HISTOGRAM_CUSTOM_TIMES( + "Net.HttpConnectionLatency", time_to_obtain_connected_socket, base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), 100); diff --git a/net/socket/tcp_client_socket_pool.cc b/net/socket/tcp_client_socket_pool.cc index 1c6876a..a64c073 100644 --- a/net/socket/tcp_client_socket_pool.cc +++ b/net/socket/tcp_client_socket_pool.cc @@ -68,6 +68,7 @@ LoadState TCPConnectJob::GetLoadState() const { int TCPConnectJob::ConnectInternal() { next_state_ = kStateResolveHost; + start_time_ = base::TimeTicks::Now(); return DoLoop(OK); } @@ -130,10 +131,18 @@ int TCPConnectJob::DoTCPConnect() { int TCPConnectJob::DoTCPConnectComplete(int result) { if (result == OK) { DCHECK(connect_start_time_ != base::TimeTicks()); - base::TimeDelta connect_duration = - base::TimeTicks::Now() - connect_start_time_; + DCHECK(start_time_ != base::TimeTicks()); + base::TimeTicks now = base::TimeTicks::Now(); + base::TimeDelta total_duration = now - start_time_; + UMA_HISTOGRAM_CUSTOM_TIMES( + "Net.DNS_Resolution_And_TCP_Connection_Latency2", + total_duration, + base::TimeDelta::FromMilliseconds(1), + base::TimeDelta::FromMinutes(10), + 100); - UMA_HISTOGRAM_CLIPPED_TIMES("Net.TCP_Connection_Latency", + base::TimeDelta connect_duration = now - connect_start_time_; + UMA_HISTOGRAM_CUSTOM_TIMES("Net.TCP_Connection_Latency", connect_duration, base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), diff --git a/net/socket/tcp_client_socket_pool.h b/net/socket/tcp_client_socket_pool.h index 96ebe73..4da6ea8 100644 --- a/net/socket/tcp_client_socket_pool.h +++ b/net/socket/tcp_client_socket_pool.h @@ -68,7 +68,10 @@ class TCPConnectJob : public ConnectJob { AddressList addresses_; State next_state_; - // The time the Connect() method was called (if it got called). + // The time Connect() was called. + base::TimeTicks start_time_; + + // The time the connect was started (after DNS finished). base::TimeTicks connect_start_time_; DISALLOW_COPY_AND_ASSIGN(TCPConnectJob); |