| Index: chrome/browser/browser_main_win.cc
|
| ===================================================================
|
| --- chrome/browser/browser_main_win.cc (revision 95298)
|
| +++ chrome/browser/browser_main_win.cc (working copy)
|
| @@ -90,12 +90,9 @@
|
| ::GetProcessTimes(::GetCurrentProcess(), &creation_time, &ignore, &ignore,
|
| &ignore);
|
|
|
| - base::TimeDelta elapsed_from_startup =
|
| - base::Time::Now() - base::Time::FromFileTime(creation_time);
|
| -
|
| - // Record the time to present in a histogram.
|
| - UMA_HISTOGRAM_MEDIUM_TIMES("Startup.BrowserMessageLoopStartTime",
|
| - elapsed_from_startup);
|
| + RecordPreReadExperimentTime(
|
| + "Startup.BrowserMessageLoopStartTime",
|
| + base::Time::Now() - base::Time::FromFileTime(creation_time));
|
| }
|
|
|
| int AskForUninstallConfirmation() {
|
| @@ -276,6 +273,31 @@
|
| return false;
|
| }
|
|
|
| +// This code is specific to the Windows-only PreReadExperiment field-trial.
|
| +void RecordPreReadExperimentTime(const char* name, base::TimeDelta time) {
|
| + DCHECK(name != NULL);
|
| +
|
| + static const char kEnvVar[] = "CHROME_PRE_READ_EXPERIMENT";
|
| + static const base::TimeDelta kMin(base::TimeDelta::FromMilliseconds(1));
|
| + static const base::TimeDelta kMax(base::TimeDelta::FromHours(1));
|
| + static const size_t kBuckets(100);
|
| +
|
| + UMA_HISTOGRAM_CUSTOM_TIMES(name, time, kMin, kMax, kBuckets);
|
| +
|
| + scoped_ptr<base::Environment> env(base::Environment::Create());
|
| + DCHECK(env.get() != NULL);
|
| +
|
| + // Only record the sub-histogram result if the experiment is running
|
| + // (environment variable is set, and valid).
|
| + std::string pre_read;
|
| + if (env->GetVar(kEnvVar, &pre_read) && (pre_read == "0" || pre_read == "1")) {
|
| + std::string uma_name(name);
|
| + uma_name += "_PreRead";
|
| + uma_name += pre_read == "1" ? "Enabled" : "Disabled";
|
| + UMA_HISTOGRAM_CUSTOM_TIMES(uma_name.c_str(), time, kMin, kMax, kBuckets);
|
| + }
|
| +}
|
| +
|
| // BrowserMainPartsWin ---------------------------------------------------------
|
|
|
| class BrowserMainPartsWin : public BrowserMainParts {
|
|
|