summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_main.cc
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-23 02:45:11 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-23 02:45:11 +0000
commit0b48db4400f9a20de3c9f5bea099c1a3cbcf5015 (patch)
treec7149e77252a1fe846a87cf93c1b98a02fe53296 /chrome/browser/browser_main.cc
parent202dee0077b3756f5fad43c521ceec4f7349c91e (diff)
downloadchromium_src-0b48db4400f9a20de3c9f5bea099c1a3cbcf5015.zip
chromium_src-0b48db4400f9a20de3c9f5bea099c1a3cbcf5015.tar.gz
chromium_src-0b48db4400f9a20de3c9f5bea099c1a3cbcf5015.tar.bz2
Attempt to detect impact of disabling dns prefetching on transaction latency
This is also meant to exercise the field trial infrastructure. r=mbelshe Review URL: http://codereview.chromium.org/50084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12271 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_main.cc')
-rw-r--r--chrome/browser/browser_main.cc18
1 files changed, 14 insertions, 4 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
index 4309f9d..1ef1f74 100644
--- a/chrome/browser/browser_main.cc
+++ b/chrome/browser/browser_main.cc
@@ -439,10 +439,20 @@ int BrowserMain(const MainFunctionParams& parameters) {
net::EnsureWinsockInit();
#endif // defined(OS_WIN)
- // Initialize the DNS prefetch system
- chrome_browser_net::DnsPrefetcherInit dns_prefetch_init(user_prefs);
- chrome_browser_net::DnsPrefetchHostNamesAtStartup(user_prefs, local_state);
- chrome_browser_net::RestoreSubresourceReferrers(local_state);
+ // Set up a field trial.
+ FieldTrial::Probability kDIVISOR = 100;
+ FieldTrial::Probability kDISABLE = 1; // 1%.
+ scoped_refptr<FieldTrial> dns_trial = new FieldTrial("DnsImpact", kDIVISOR);
+ int disabled_group = dns_trial->AppendGroup("_disabled_prefetch", kDISABLE);
+
+ scoped_ptr<chrome_browser_net::DnsPrefetcherInit> dns_prefetch_init;
+ if (dns_trial->group() != disabled_group) {
+ // Initialize the DNS prefetch system
+ dns_prefetch_init.reset(
+ new chrome_browser_net::DnsPrefetcherInit(user_prefs));
+ chrome_browser_net::DnsPrefetchHostNamesAtStartup(user_prefs, local_state);
+ chrome_browser_net::RestoreSubresourceReferrers(local_state);
+ }
#if defined(OS_WIN)
// Init common control sex.