Chromium Code Reviews| Index: base/metrics/field_trial.h |
| =================================================================== |
| --- base/metrics/field_trial.h (revision 70854) |
| +++ base/metrics/field_trial.h (working copy) |
| @@ -94,6 +94,13 @@ |
| // to the total_probability. |
| FieldTrial(const std::string& name, Probability total_probability); |
| + // Determine if the field trial is to be disabled or not based on |
| + // disable_duration_, build time of the module and Now(). This method sets |
| + // disable_field_trail_ to true, if the difference between build time of the |
|
jar (doing other things)
2011/01/10 22:01:21
nit: trail-->trial
rtenneti
2011/01/10 22:48:03
Done.
|
| + // module and Now() is greater than disable_duration_. If disable_field_trail_ |
| + // is true then the field trial reverts to the 'default' bucket. |
| + void FieldTrial::DetermineIfFieldTrailIsToBeDisabled(); |
| + |
| // Establish the name and probability of the next group in this trial. |
| // Sometimes, based on construction randomization, this call may causes the |
| // provided group to be *THE* group selected for use in this instance. |
| @@ -112,6 +119,13 @@ |
| // number is used as the group name. |
| std::string group_name() const { return group_name_; } |
| + // Set the duration from build time of the module to disable Field Trial. |
| + void SetDisableDuration(const base::TimeDelta& duration); |
| + |
| + base::TimeDelta disableDuration() const { |
|
jar (doing other things)
2011/01/10 22:01:21
nit: Reading this name, it looks like the duration
rtenneti
2011/01/10 22:48:03
Hi Jim,
UsageTimeout seems to read better. Going
rtenneti
2011/01/10 22:48:03
Done.
|
| + return disable_duration_; |
| + } |
| + |
| // Helper function for the most common use: as an argument to specifiy the |
| // name of a HISTOGRAM. Use the original histogram name as the name_prefix. |
| static std::string MakeName(const std::string& name_prefix, |
| @@ -120,6 +134,9 @@ |
| // Enable benchmarking sets field trials to a common setting. |
| static void EnableBenchmarking(); |
| + // Get build time. |
| + static Time GetBuildTime(); |
| + |
| private: |
| friend class RefCounted<FieldTrial>; |
| @@ -143,6 +160,14 @@ |
| int next_group_number_; |
| + // The default value (all remaining probabilities) can be selected after the |
| + // duration, which is based on the build time of the module. |
| + base::TimeDelta disable_duration_; |
| + |
| + // When disable_field_trail_ is true, field trial reverts to the 'default' |
| + // bucket. |
| + bool disable_field_trail_; |
| + |
| // The pseudo-randomly assigned group number. |
| // This is kNotParticipating if no group has been assigned. |
| int group_; |