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

Side by Side Diff: chrome/browser/metrics/proto/study.proto

Issue 23097007: Create variations target that depends on base. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 syntax = "proto2";
6
7 option optimize_for = LITE_RUNTIME;
8
9 package chrome_variations;
10
11 // This defines the Protocol Buffer representation of a Chrome Variations study
12 // as sent to clients of the Variations server.
13 //
14 // Next tag: 12
15 message Study {
16 // The name of the study. Should not contain spaces or special characters.
17 // Ex: "my_study"
18 required string name = 1;
19
20 // The expiry date of the study in Unix time format. (Seconds since midnight
21 // January 1, 1970 UTC). See: http://en.wikipedia.org/wiki/Unix_time
22 //
23 // A study that has expired will be disabled, which will take precedence over
24 // a corresponding hardcoded field trial in the client.
25 //
26 // Ex: 1330893974 (corresponds to 2012-03-04 20:46:14Z)
27 optional int64 expiry_date = 3;
28
29 // Consistency setting for a study.
30 enum Consistency {
31 SESSION = 0; // Can't change within a session.
32 PERMANENT = 1; // Can't change for a given user.
33 }
34
35 // Consistency setting for this study. Optional - defaults to SESSION.
36 // Ex: PERMANENT
37 optional Consistency consistency = 7 [default = SESSION];
38
39 // Name of the experiment that gets the default experience. This experiment
40 // must be included in the list below.
41 // Ex: "default"
42 optional string default_experiment_name = 8;
43
44 // An experiment within the study.
45 //
46 // Next tag: 7
47 message Experiment {
48 // A named parameter value for this experiment.
49 //
50 // Next tag: 3
51 message Param {
52 // The name of the parameter.
53 optional string name = 1;
54
55 // The value of the parameter.
56 optional string value = 2;
57 }
58
59 // The name of the experiment within the study.
60 // Ex: "bucketA"
61 required string name = 1;
62
63 // The cut of the total probability taken for this experiment (the x in
64 // x / N, where N is the sum of all x’s). Ex: "50"
65 required uint32 probability_weight = 2;
66
67 // Optional id used to uniquely identify this experiment for Google web
68 // properties.
69 optional uint64 google_web_experiment_id = 3;
70
71 // Optional id used to uniquely identify this experiment for Google Update.
72 optional uint64 google_update_experiment_id = 4;
73
74 // Optional name of a Chrome flag that, when present, causes this experiment
75 // to be forced. If the forcing_flag field is set, users will not be
76 // assigned to this experiment unless that flag is present in Chrome's
77 // command line.
78 optional string forcing_flag = 5;
79
80 // Parameter values for this experiment.
81 repeated Param param = 6;
82 }
83
84 // List of experiments in this study. This list should include the default /
85 // control experiment.
86 //
87 // For example, to specify that 99% of users get the default behavior, while
88 // 0.5% of users get experience "A" and 0.5% of users get experience "B",
89 // specify the values below.
90 // Ex: { "default": 990, "A": 5, "B": 5 }
91 repeated Experiment experiment = 9;
92
93 // Possible Chrome release channels.
94 // See: http://dev.chromium.org/getting-involved/dev-channel
95 enum Channel {
96 // UNKNOWN value is defined here for the benefit of code using this enum
97 // type, but is not actually meant to be encoded in the protobuf.
98 UNKNOWN = -1;
99 CANARY = 0;
100 DEV = 1;
101 BETA = 2;
102 STABLE = 3;
103 }
104
105 // Possible Chrome operating system platforms.
106 enum Platform {
107 PLATFORM_WINDOWS = 0;
108 PLATFORM_MAC = 1;
109 PLATFORM_LINUX = 2;
110 PLATFORM_CHROMEOS = 3;
111 PLATFORM_ANDROID = 4;
112 PLATFORM_IOS = 5;
113 }
114
115 // Filtering criteria specifying whether this study is applicable to a given
116 // Chrome instance.
117 //
118 // Next tag: 7
119 message Filter {
120 // The start date of the study in Unix time format. (Seconds since midnight
121 // January 1, 1970 UTC). See: http://en.wikipedia.org/wiki/Unix_time
122 // Ex: 1330893974 (corresponds to 2012-03-04 20:46:14Z)
123 optional int64 start_date = 1;
124
125 // The minimum Chrome version for this study, allowing a trailing '*'
126 // character for pattern matching. Inclusive. (To check for a match, iterate
127 // over each component checking >= until a * or end of string is reached.)
128 // Optional - if not specified, there is no minimum version.
129 // Ex: "17.0.963.46", "17.0.963.*", "17.*"
130 optional string min_version = 2;
131
132 // The maximum Chrome version for this study; same formatting as
133 // |min_version| above. Inclusive. (To check for a match, iterate over each
134 // component checking <= until a * or end of string is reached.)
135 // Optional - if not specified, there is no maximum version.
136 // Ex: "19.*"
137 optional string max_version = 3;
138
139 // List of channels that will receive this study. If omitted, the study
140 // applies to all channels.
141 // Ex: [BETA, STABLE]
142 repeated Channel channel = 4;
143
144 // List of platforms that will receive this study. If omitted, the study
145 // applies to all platforms.
146 // Ex: [PLATFORM_WINDOWS, PLATFORM_MAC]
147 repeated Platform platform = 5;
148
149 // List of locales that will receive this study. If omitted, the study
150 // applies to all locales.
151 // Ex: ["en-US", "en-CA"]
152 repeated string locale = 6;
153 }
154
155 // Filtering criteria for this study. A study that is filtered out for a given
156 // client is equivalent to that study not being sent at all.
157 optional Filter filter = 10;
158
159 // Randomization seed to be used when |consistency| is set to PERMANENT. If
160 // not specified, randomization will be done using the trial name.
161 optional uint32 randomization_seed = 11;
162 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/metrics_service.cc ('k') | chrome/browser/metrics/proto/trials_seed.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698