// An experiment within the study.
//
- // Next tag: 7
+ // Next tag: 9
message Experiment {
// A named parameter value for this experiment.
//
// properties.
optional uint64 google_web_experiment_id = 3;
+ // Optional id used to allow this experiment to trigger experimental
+ // behavior on Google web properties.
+ optional uint64 google_web_trigger_experiment_id = 8;
+
// Optional id used to uniquely identify this experiment for Google Update.
optional uint64 google_update_experiment_id = 4;
// Parameter values for this experiment.
repeated Param param = 6;
+
+ enum Type {
+ // Regular experiment group. This is the default value and can be omitted.
+ NORMAL = 0;
+
+ // Changes to this experiment group are ignored for the purposes of
+ // kill-switch triggering. Included to allow the flexibility to not
+ // trigger this logic for specific cases (e.g. a group rename without
+ // any functionality changes).
+ IGNORE_CHANGE = 1;
+
+ // This is a kill-switch group that should be killed at "best effort"
+ // priority, e.g. with a hot dog menu badge. The experiment must have a
+ // probability_weight of 0.
+ KILL_BEST_EFFORT = 2;
+
+ // This is a kill-switch group that should be killed with "critical"
+ // priority. Depending on platform this may result in showing a
+ // non-dismissible restart prompt with a timer. This should only be used
+ // in very serious emergency circumstances. The experiment must have a
+ // probability_weight of 0.
+ KILL_CRITICAL = 3;
+ }
+ optional Type type = 7 [default = NORMAL];
}
// List of experiments in this study. This list should include the default /
// Filtering criteria specifying whether this study is applicable to a given
// Chrome instance.
//
- // Next tag: 8
+ // Next tag: 10
message Filter {
// The start date of the study in Unix time format. (Seconds since midnight
// January 1, 1970 UTC). See: http://en.wikipedia.org/wiki/Unix_time
// applies to all form factors.
// Ex: [PHONE, TABLET]
repeated FormFactor form_factor = 7;
+
+ // List of ChromeOS hardware classes that will receive this study. Each
+ // entry is treated as a substring of the actual device hardware_class,
+ // so "FOO" will match the client's hardware class "Device FOOBAR". If
+ // omitted, the study applies to all hardware classes unless
+ // |exclude_hardware_class| is specified. Mutually exclusive with
+ // |exclude_hardware_class|.
+ repeated string hardware_class = 8;
+
+ // List of ChromeOS hardware classes that will be excluded in this
+ // study. Each entry is treated as a substring of the actual device
+ // hardware_class, so "FOO" will match the client's hardware class
+ // "Device FOOBAR". If omitted, the study applies to all hardware classes
+ // unless |hardware_class| is specified. Mutually exclusive with
+ // |hardware_class|.
+ repeated string exclude_hardware_class = 9;
}
// Filtering criteria for this study. A study that is filtered out for a given