diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-20 18:39:08 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-20 18:39:08 +0000 |
commit | 510e854f122deaedd5ba31af188105131a4c3b7d (patch) | |
tree | 03e6cbdeafa6529ab491fb85f05f6955ba713a70 /net/http | |
parent | 8f1915d7a94456f029a25abdc64f9a5f6bdd1711 (diff) | |
download | chromium_src-510e854f122deaedd5ba31af188105131a4c3b7d.zip chromium_src-510e854f122deaedd5ba31af188105131a4c3b7d.tar.gz chromium_src-510e854f122deaedd5ba31af188105131a4c3b7d.tar.bz2 |
Add a FieldTrial and histograms for measuring impact of http prioritization.
Currently this FieldTrial is measuring the transaction latencies of requests, separated into frame/subframe requests vs subresource requests. We run a 2% holdback experiment where the people in the holdback don't have http prioritization enabled. Add class static method to ResourceDispatcherHost to disable http prioritization.
BUG=10486
Review URL: http://codereview.chromium.org/67119
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14040 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r-- | net/http/http_network_transaction.cc | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index 1065729..654eb6a 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -977,10 +977,34 @@ void HttpNetworkTransaction::LogTCPConnectionMetrics() const { void HttpNetworkTransaction::LogTransactionConnectedMetrics() const { base::TimeDelta total_duration = response_.response_time - start_time_; - UMA_HISTOGRAM_CLIPPED_TIMES(FieldTrial::MakeName( - "Net.Transaction_Connected_Under_10", "DnsImpact").data(), total_duration, + UMA_HISTOGRAM_CLIPPED_TIMES( + FieldTrial::MakeName( + "Net.Transaction_Connected_Under_10", + "DnsImpact").data(), + total_duration, base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), 100); + + // Currently, non-zero priority requests are frame or sub-frame resource + // types. This will change when we also prioritize certain subresources like + // css, js, etc. + if (request_->priority) { + UMA_HISTOGRAM_CLIPPED_TIMES( + FieldTrial::MakeName( + "Net.Priority_High_Latency", + "HttpPrioritization").data(), + total_duration, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), + 100); + } else { + UMA_HISTOGRAM_CLIPPED_TIMES( + FieldTrial::MakeName( + "Net.Priority_Low_Latency", + "HttpPrioritization").data(), + total_duration, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(10), + 100); + } } void HttpNetworkTransaction::LogTransactionMetrics() const { |