summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-20 18:39:08 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-20 18:39:08 +0000
commit510e854f122deaedd5ba31af188105131a4c3b7d (patch)
tree03e6cbdeafa6529ab491fb85f05f6955ba713a70 /net/http
parent8f1915d7a94456f029a25abdc64f9a5f6bdd1711 (diff)
downloadchromium_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.cc28
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 {