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

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: Change start date to Nov 6 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
« no previous file with comments | « chrome/browser/chrome_browser_field_trials.h ('k') | chrome/browser/chrome_browser_main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..644f4ff6c8f1e107840223c48b7fc99e52b6b610 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"
@@ -81,6 +82,27 @@ void SetupSingleUniformityFieldTrial(
DVLOG(1) << "Chosen Group: " << chosen_group;
}
+// Setup a 50% uniformity trial for new installs only. This is accomplished by
+// disabling the trial on clients that were installed before a specified date.
+void SetupNewInstallUniformityTrial(const base::Time& install_date) {
+ const base::Time::Exploded kStartDate = {
+ 2012, 11, 0, 6, // Nov 6, 2012
+ 0, 0, 0, 0 // 00:00:00.000
+ };
+ scoped_refptr<base::FieldTrial> trial(
+ base::FieldTrialList::FactoryGetFieldTrial(
+ "UMA-New-Install-Uniformity-Trial", 100, "Disabled",
+ 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 SetSocketReusePolicy(int warmest_socket_trial_group,
const int socket_policy[],
int num_groups) {
@@ -101,13 +123,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 +234,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 +264,8 @@ void ChromeBrowserFieldTrials::SetupUniformityFieldTrials() {
"UMA-Session-Randomized-Uniformity-Trial-%d-Percent";
SetupSingleUniformityFieldTrial(false, kSessionRandomizedTrialName,
chrome_variations::kUniformitySessionRandomized5PercentBase, 20);
+
+ SetupNewInstallUniformityTrial(install_date);
}
void ChromeBrowserFieldTrials::DisableNewTabFieldTrialIfNecesssary() {
« no previous file with comments | « chrome/browser/chrome_browser_field_trials.h ('k') | chrome/browser/chrome_browser_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698