summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorstevet@chromium.org <stevet@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 17:02:47 +0000
committerstevet@chromium.org <stevet@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 17:02:47 +0000
commit7f85791b0e6ce5a7745a26be8adc4cebf0ee409d (patch)
treecd58f8e2753897abc884641dd74db42b82aa9c66 /base
parent7c80f42e202478fc3eea8747ad7d4c9bfe2997c5 (diff)
downloadchromium_src-7f85791b0e6ce5a7745a26be8adc4cebf0ee409d.zip
chromium_src-7f85791b0e6ce5a7745a26be8adc4cebf0ee409d.tar.gz
chromium_src-7f85791b0e6ce5a7745a26be8adc4cebf0ee409d.tar.bz2
Add and implement API to associate Google experiment IDs with FieldTrials.
This includes unit tests for the API, but no uses yet. This change also involves exposing a new MakeGroupNameId static helper in FieldTrial to assist with the usage of this new API. BUG=121988 TEST=Ensure that unit_tests GoogleExperimentsTest.* pass. Review URL: http://codereview.chromium.org/9965086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133212 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/metrics/field_trial.cc10
-rw-r--r--base/metrics/field_trial.h4
2 files changed, 14 insertions, 0 deletions
diff --git a/base/metrics/field_trial.cc b/base/metrics/field_trial.cc
index e04c86e..e53fdf3 100644
--- a/base/metrics/field_trial.cc
+++ b/base/metrics/field_trial.cc
@@ -168,6 +168,16 @@ std::string FieldTrial::MakeName(const std::string& name_prefix,
}
// static
+FieldTrial::NameGroupId FieldTrial::MakeNameGroupId(
+ const std::string& trial_name,
+ const std::string& group_name) {
+ NameGroupId id;
+ id.name = HashName(trial_name);
+ id.group = HashName(group_name);
+ return id;
+}
+
+// static
void FieldTrial::EnableBenchmarking() {
DCHECK_EQ(0u, FieldTrialList::GetFieldTrialCount());
enable_benchmarking_ = true;
diff --git a/base/metrics/field_trial.h b/base/metrics/field_trial.h
index 2852393..be58a93 100644
--- a/base/metrics/field_trial.h
+++ b/base/metrics/field_trial.h
@@ -146,6 +146,10 @@ class BASE_EXPORT FieldTrial : public RefCounted<FieldTrial> {
static std::string MakeName(const std::string& name_prefix,
const std::string& trial_name);
+ // Helper function to create a NameGroupId from |trial_name| and |group_name|.
+ static NameGroupId MakeNameGroupId(const std::string& trial_name,
+ const std::string& group_name);
+
// Enable benchmarking sets field trials to a common setting.
static void EnableBenchmarking();