Chromium Code Reviews| 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); |
|
Sigurður Ásgeirsson
2011/08/04 15:18:38
Shouldn't this be mutually exclusive to recording
chrisha
2011/08/04 15:26:50
The documentation of field_trial.h suggests that c
|
| + |
| + 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 { |