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

Unified Diff: chrome/browser/prerender/prerender_field_trial.cc

Issue 9298032: Field trial to investigate higher weightings for hits when calculating Omnibox prerender confidence. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: stringprintf Created 8 years, 11 months 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/prerender/prerender_field_trial.cc
diff --git a/chrome/browser/prerender/prerender_field_trial.cc b/chrome/browser/prerender/prerender_field_trial.cc
index ced8b7c907b0e73ec501fe6e92433a4f3409a189..f4976e690e36194d3cbc7e26379adeffd4961671 100644
--- a/chrome/browser/prerender/prerender_field_trial.cc
+++ b/chrome/browser/prerender/prerender_field_trial.cc
@@ -8,6 +8,7 @@
#include "base/logging.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
+#include "chrome/browser/autocomplete/network_action_predictor.h"
#include "chrome/browser/metrics/metrics_service.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/prerender/prerender_manager.h"
@@ -20,7 +21,7 @@ namespace prerender {
namespace {
-const char kPrerenderFromOmniboxTrialName[] = "PrerenderFromOmnibox";
+const char kOmniboxTrialName[] = "PrerenderFromOmnibox";
void SetupPrefetchFieldTrial() {
chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
@@ -65,33 +66,33 @@ void SetupPrerenderFieldTrial() {
new base::FieldTrial("Prerender", divisor,
"ContentPrefetchPrerender1", 2012, 6, 30));
- const int kPrerenderExperiment1Group = trial->kDefaultGroupNumber;
- const int kPrerenderControl1Group =
+ const int kExperiment1Group = trial->kDefaultGroupNumber;
+ const int kControl1Group =
trial->AppendGroup("ContentPrefetchPrerenderControl1",
control1_probability);
- const int kPrerenderNoUse1Group =
+ const int kNoUse1Group =
trial->AppendGroup("ContentPrefetchPrerenderNoUse1",
no_use1_probability);
- const int kPrerenderExperiment2Group =
+ const int kExperiment2Group =
trial->AppendGroup("ContentPrefetchPrerender2",
exp2_probability);
- const int kPrerenderControl2Group =
+ const int kControl2Group =
trial->AppendGroup("ContentPrefetchPrerenderControl2",
control2_probability);
- const int kPrerenderNoUse2Group =
+ const int kNoUse2Group =
trial->AppendGroup("ContentPrefetchPrerenderNoUse2",
no_use2_probability);
const int trial_group = trial->group();
- if (trial_group == kPrerenderExperiment1Group ||
- trial_group == kPrerenderExperiment2Group) {
+ if (trial_group == kExperiment1Group ||
+ trial_group == kExperiment2Group) {
PrerenderManager::SetMode(
PrerenderManager::PRERENDER_MODE_EXPERIMENT_PRERENDER_GROUP);
- } else if (trial_group == kPrerenderControl1Group ||
- trial_group == kPrerenderControl2Group) {
+ } else if (trial_group == kControl1Group ||
+ trial_group == kControl2Group) {
PrerenderManager::SetMode(
PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP);
- } else if (trial_group == kPrerenderNoUse1Group ||
- trial_group == kPrerenderNoUse2Group) {
+ } else if (trial_group == kNoUse1Group ||
+ trial_group == kNoUse2Group) {
PrerenderManager::SetMode(
PrerenderManager::PRERENDER_MODE_EXPERIMENT_NO_USE_GROUP);
} else {
@@ -101,7 +102,7 @@ void SetupPrerenderFieldTrial() {
} // end namespace
-void ConfigurePrerenderFromOmnibox();
+void ConfigureOmniboxPrerender();
void ConfigurePrefetchAndPrerender(const CommandLine& command_line) {
enum PrerenderOption {
@@ -161,10 +162,10 @@ void ConfigurePrefetchAndPrerender(const CommandLine& command_line) {
PrerenderManager::GetMode(),
PrerenderManager::PRERENDER_MODE_MAX);
- ConfigurePrerenderFromOmnibox();
+ ConfigureOmniboxPrerender();
}
-void ConfigurePrerenderFromOmnibox() {
+void ConfigureOmniboxPrerender() {
// Field trial to see if we're enabled.
const base::FieldTrial::Probability kDivisor = 100;
@@ -175,9 +176,28 @@ void ConfigurePrerenderFromOmnibox() {
kEnabledProbability = 99;
}
scoped_refptr<base::FieldTrial> enabled_trial(
- new base::FieldTrial(kPrerenderFromOmniboxTrialName, kDivisor,
+ new base::FieldTrial(kOmniboxTrialName, kDivisor,
"OmniboxPrerenderDisabled", 2012, 8, 30));
enabled_trial->AppendGroup("OmniboxPrerenderEnabled", kEnabledProbability);
+
+ // Field trial to set weighting of hits.
+ const base::FieldTrial::Probability kTwoProbability = 33;
+ const base::FieldTrial::Probability kThreeProbability = 33;
+
+ scoped_refptr<base::FieldTrial> weighting_trial(
+ new base::FieldTrial("OmniboxPrerenderHitWeightingTrial", kDivisor,
+ "OmniboxPrerenderWeight1.0", 2012, 8, 30));
+ const int kOmniboxWeightTwoGroup =
+ weighting_trial->AppendGroup("OmniboxPrerenderWeight2.0",
+ kTwoProbability);
+ const int kOmniboxWeightThreeGroup =
+ weighting_trial->AppendGroup("OmniboxPrerenderWeight3.0",
+ kThreeProbability);
+ const int group = weighting_trial->group();
+ if (group == kOmniboxWeightTwoGroup)
+ NetworkActionPredictor::set_hit_weight(2.0);
+ else if (group == kOmniboxWeightThreeGroup)
+ NetworkActionPredictor::set_hit_weight(3.0);
}
bool IsOmniboxEnabled(Profile* profile) {
@@ -203,8 +223,7 @@ bool IsOmniboxEnabled(Profile* profile) {
DCHECK(switch_value == switches::kPrerenderFromOmniboxSwitchValueAuto);
}
- const int group =
- base::FieldTrialList::FindValue(kPrerenderFromOmniboxTrialName);
+ const int group = base::FieldTrialList::FindValue(kOmniboxTrialName);
return group != base::FieldTrial::kNotFinalized &&
group != base::FieldTrial::kDefaultGroupNumber;
}
« no previous file with comments | « chrome/browser/autocomplete/network_action_predictor.cc ('k') | chrome/browser/prerender/prerender_histograms.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698