summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-28 22:10:31 +0000
committermbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-28 22:10:31 +0000
commitbbbfeff3dc729802a44395a698242371d7a74ee2 (patch)
tree1a011f78764c6d06f9c48923a05446f9e94a793b
parent172acc45664c67f6ec10a13a7f14da3bc4589f68 (diff)
downloadchromium_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.cc4
-rw-r--r--net/socket/tcp_client_socket_pool.cc15
-rw-r--r--net/socket/tcp_client_socket_pool.h5
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);