diff options
-rw-r--r-- | chrome/browser/instant/instant_controller.cc | 13 | ||||
-rw-r--r-- | chrome/browser/instant/instant_field_trial.cc | 64 |
2 files changed, 59 insertions, 18 deletions
diff --git a/chrome/browser/instant/instant_controller.cc b/chrome/browser/instant/instant_controller.cc index 0d31d4a..b1d6e3f 100644 --- a/chrome/browser/instant/instant_controller.cc +++ b/chrome/browser/instant/instant_controller.cc @@ -113,6 +113,11 @@ void InstantController::Enable(Profile* profile) { if (!service) return; + base::Histogram* histogram = base::LinearHistogram::FactoryGet( + "Instant.Preference" + InstantFieldTrial::GetGroupName(profile), 1, 2, 3, + base::Histogram::kUmaTargetedHistogramFlag); + histogram->Add(1); + service->SetBoolean(prefs::kInstantEnabledOnce, true); service->SetBoolean(prefs::kInstantEnabled, true); service->SetBoolean(prefs::kInstantConfirmDialogShown, true); @@ -135,10 +140,10 @@ void InstantController::Disable(Profile* profile) { delta.InMinutes(), 1, 60 * 24 * 10, 50); } - base::Histogram* histogram = base::Histogram::FactoryGet( - "Instant.OptOut" + InstantFieldTrial::GetGroupName(profile), 1, 1000000, - 50, base::Histogram::kUmaTargetedHistogramFlag); - histogram->Add(1); + base::Histogram* histogram = base::LinearHistogram::FactoryGet( + "Instant.Preference" + InstantFieldTrial::GetGroupName(profile), 1, 2, 3, + base::Histogram::kUmaTargetedHistogramFlag); + histogram->Add(0); service->SetBoolean(prefs::kInstantEnabledOnce, true); service->SetBoolean(prefs::kInstantEnabled, false); diff --git a/chrome/browser/instant/instant_field_trial.cc b/chrome/browser/instant/instant_field_trial.cc index dee598f..ea696dd 100644 --- a/chrome/browser/instant/instant_field_trial.cc +++ b/chrome/browser/instant/instant_field_trial.cc @@ -39,6 +39,19 @@ void InstantFieldTrial::Activate() { g_hidden = trial->AppendGroup("Hidden", 960); // 96% g_silent = trial->AppendGroup("Silent", 10); // 1% g_control = trial->AppendGroup("Control", 10); // 1% + + int group = 0; + if (trial->group() == g_instant) + group = 1; + else if (trial->group() == g_suggest) + group = 2; + else if (trial->group() == g_hidden) + group = 3; + else if (trial->group() == g_silent) + group = 4; + else if (trial->group() == g_control) + group = 5; + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Size", group, 6); } // static @@ -47,33 +60,56 @@ InstantFieldTrial::Group InstantFieldTrial::GetGroup(Profile* profile) { if (command_line->HasSwitch(switches::kInstantFieldTrial)) { std::string switch_value = command_line->GetSwitchValueASCII(switches::kInstantFieldTrial); + Group group = INACTIVE; if (switch_value == switches::kInstantFieldTrialInstant) - return INSTANT; - if (switch_value == switches::kInstantFieldTrialSuggest) - return SUGGEST; - if (switch_value == switches::kInstantFieldTrialHidden) - return HIDDEN; - if (switch_value == switches::kInstantFieldTrialSilent) - return SILENT; - if (switch_value == switches::kInstantFieldTrialControl) - return CONTROL; - return INACTIVE; + group = INSTANT; + else if (switch_value == switches::kInstantFieldTrialSuggest) + group = SUGGEST; + else if (switch_value == switches::kInstantFieldTrialHidden) + group = HIDDEN; + else if (switch_value == switches::kInstantFieldTrialSilent) + group = SILENT; + else if (switch_value == switches::kInstantFieldTrialControl) + group = CONTROL; + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 1, 10); + return group; } const int group = base::FieldTrialList::FindValue("Instant"); if (group == base::FieldTrial::kNotFinalized || group == base::FieldTrial::kDefaultGroupNumber) { + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 2, 10); return INACTIVE; } const PrefService* prefs = profile ? profile->GetPrefs() : NULL; - if (!prefs || profile->IsOffTheRecord() || - prefs->GetBoolean(prefs::kInstantEnabledOnce) || - !prefs->GetBoolean(prefs::kSearchSuggestEnabled) || - prefs->IsManagedPreference(prefs::kInstantEnabled)) { + if (!prefs) { + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 3, 10); + return INACTIVE; + } + + if (profile->IsOffTheRecord()) { + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 4, 10); + return INACTIVE; + } + + if (prefs->GetBoolean(prefs::kInstantEnabledOnce)) { + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 5, 10); return INACTIVE; } + if (!prefs->GetBoolean(prefs::kSearchSuggestEnabled)) { + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 6, 10); + return INACTIVE; + } + + if (prefs->IsManagedPreference(prefs::kInstantEnabled)) { + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 7, 10); + return INACTIVE; + } + + UMA_HISTOGRAM_ENUMERATION("Instant.FieldTrial.Reason", 0, 10); + if (group == g_instant) return INSTANT; if (group == g_suggest) |