Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(466)

Unified Diff: chrome/browser/chrome_browser_field_trials.cc

Issue 11363062: Create a new-installs-only uniformity trial. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Init Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chrome_browser_field_trials.cc
diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chrome_browser_field_trials.cc
index bbe7a4172dd10fbf77de27dc0a46a82711d132af..f2e6edadd9bb6d922b045a5caeb3ade82f6b7f6b 100644
--- a/chrome/browser/chrome_browser_field_trials.cc
+++ b/chrome/browser/chrome_browser_field_trials.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/autocomplete/autocomplete_field_trial.h"
#include "chrome/browser/chrome_gpu_util.h"
#include "chrome/browser/google/google_util.h"
+#include "chrome/browser/metrics/variations/variations_service.h"
#include "chrome/browser/prerender/prerender_field_trial.h"
#include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h"
#include "chrome/browser/ui/sync/one_click_signin_helper.h"
@@ -101,13 +102,14 @@ ChromeBrowserFieldTrials::ChromeBrowserFieldTrials(
ChromeBrowserFieldTrials::~ChromeBrowserFieldTrials() {
}
-void ChromeBrowserFieldTrials::SetupFieldTrials() {
+void ChromeBrowserFieldTrials::SetupFieldTrials(
+ const base::Time& install_time) {
prerender::ConfigurePrefetchAndPrerender(parsed_command_line_);
SpdyFieldTrial();
WarmConnectionFieldTrial();
AutoLaunchChromeFieldTrial();
gpu_util::InitializeCompositingFieldTrial();
- SetupUniformityFieldTrials();
+ SetupUniformityFieldTrials(install_time);
AutocompleteFieldTrial::Activate();
DisableNewTabFieldTrialIfNecesssary();
SetUpSafeBrowsingInterstitialFieldTrial();
@@ -211,7 +213,8 @@ void ChromeBrowserFieldTrials::AutoLaunchChromeFieldTrial() {
}
}
-void ChromeBrowserFieldTrials::SetupUniformityFieldTrials() {
+void ChromeBrowserFieldTrials::SetupUniformityFieldTrials(
+ const base::Time& install_date) {
// One field trial will be created for each entry in this array. The i'th
// field trial will have |trial_sizes[i]| groups in it, including the default
// group. Each group will have a probability of 1/|trial_sizes[i]|.
@@ -240,6 +243,25 @@ void ChromeBrowserFieldTrials::SetupUniformityFieldTrials() {
"UMA-Session-Randomized-Uniformity-Trial-%d-Percent";
SetupSingleUniformityFieldTrial(false, kSessionRandomizedTrialName,
chrome_variations::kUniformitySessionRandomized5PercentBase, 20);
+
+ // Setup a 50% uniformity trial for new installs only. This is accomplished by
Alexei Svitkine (slow) 2012/11/02 20:36:02 Nit: Perhaps make this a separate method.
SteveT 2012/11/02 20:47:47 Done.
+ // disabling the trial on clients that were installed before a specified date.
+ const base::Time::Exploded kStartDate = {
+ 2012, 11, 0, 5, // Nov 5, 2012
+ 0, 0, 0, 0 // 00:00:00.000
+ };
+ scoped_refptr<base::FieldTrial> trial(
+ base::FieldTrialList::FactoryGetFieldTrial(
+ "UMA-New-Install-Uniformity-Trial", 100, "Default",
+ 2015, 1, 1, NULL));
+ trial->UseOneTimeRandomization();
+ trial->AppendGroup("Control", 50);
+ trial->AppendGroup("Experiment", 50);
+ const base::Time start_date = base::Time::FromLocalExploded(kStartDate);
+ if (install_date < start_date)
+ trial->Disable();
+ else
+ trial->group();
}
void ChromeBrowserFieldTrials::DisableNewTabFieldTrialIfNecesssary() {

Powered by Google App Engine
This is Rietveld 408576698