diff options
Diffstat (limited to 'net/http/http_network_transaction.cc')
-rw-r--r-- | net/http/http_network_transaction.cc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index 3e878ca..af8fea8 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -581,6 +581,8 @@ int HttpNetworkTransaction::DoResolveHost() { port = request_->url.EffectiveIntPort(); } + host_resolution_start_time_ = base::Time::Now(); + DidStartDnsResolution(host, this); return resolver_.Resolve(host, port, &addresses_, &io_callback_); } @@ -612,7 +614,7 @@ int HttpNetworkTransaction::DoTCPConnectComplete(int result) { // If we are using a direct SSL connection, then go ahead and establish the // SSL connection, now. Otherwise, we need to first issue a CONNECT request. if (result == OK) { - LogTCPConnectionMetrics(); + LogTCPConnectedMetrics(); if (using_ssl_ && !using_tunnel_) { next_state_ = STATE_SSL_CONNECT; } else { @@ -969,7 +971,7 @@ int HttpNetworkTransaction::DoDrainBodyForAuthRestartComplete(int result) { return OK; } -void HttpNetworkTransaction::LogTCPConnectionMetrics() const { +void HttpNetworkTransaction::LogTCPConnectedMetrics() const { DCHECK(connect_start_time_ != base::Time()); base::TimeDelta connect_duration = base::Time::Now() - connect_start_time_; @@ -978,6 +980,16 @@ void HttpNetworkTransaction::LogTCPConnectionMetrics() const { "Net.TCP_Connection_Latency", "DnsImpact").data(), connect_duration, base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), 100); + + base::TimeDelta host_resolution_and_tcp_connection_latency = + base::Time::Now() - host_resolution_start_time_; + + UMA_HISTOGRAM_CLIPPED_TIMES( + FieldTrial::MakeName( + "Net.Dns_Resolution_And_TCP_Connection_Latency", "DnsImpact").data(), + host_resolution_and_tcp_connection_latency, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), + 100); } void HttpNetworkTransaction::LogTransactionConnectedMetrics() const { |