OLD | NEW |
---|---|
(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 Finch study as sent to | |
12 // clients of the Finch server. This should be kept consistent with StudyJSON in | |
13 // study.go. | |
Ilya Sherman
2012/05/02 23:15:08
nit: Most of this comment is not relevant on the c
jwd
2012/05/03 22:27:49
Good catch. Fixing that and changing it to not men
| |
14 // | |
15 // Next tag: 10 | |
16 message Study { | |
17 // The name of the study. Should not contain spaces or special characters. | |
18 // Ex: "my_study" | |
19 required string name = 1; | |
20 | |
21 // The start date of the study in Unix time format. (Seconds since midnight | |
22 // January 1, 1970 UTC). See: http://en.wikipedia.org/wiki/Unix_time | |
23 // Ex: 1330893974 (corresponds to 2012-03-04 20:46:14Z) | |
24 optional int64 start_date = 2; | |
25 | |
26 // The expiry date of the study in Unix time format. (Seconds since midnight | |
27 // January 1, 1970 UTC). See: http://en.wikipedia.org/wiki/Unix_time | |
28 // Ex: 1330893974 (corresponds to 2012-03-04 20:46:14Z) | |
29 optional int64 expiry_date = 3; | |
30 | |
31 // The minimum Chrome version for this study, allowing a trailing '*' | |
32 // character for pattern matching. Inclusive. (To check for a match, iterate | |
33 // over each component checking >= until a * or end of string is reached.) | |
34 // Optional - if not specified, there is no minimum version. | |
35 // Ex: "17.0.963.46", "17.0.963.*", "17.*" | |
36 optional string min_version = 4; | |
37 | |
38 // The maximum Chrome version for this study; same formatting as |min_version| | |
39 // above. Inclusive. (To check for a match, iterate over each component | |
40 // checking <= until a * or end of string is reached.) | |
41 // Optional - if not specified, there is no maximum version. | |
42 // Ex: "19.*" | |
43 optional string max_version = 5; | |
44 | |
45 // Possible Chrome release channels. | |
46 // See: http://dev.chromium.org/getting-involved/dev-channel | |
47 enum Channel { | |
48 CANARY = 0; | |
49 DEV = 1; | |
50 BETA = 2; | |
51 STABLE = 3; | |
52 } | |
53 | |
54 // List of channels that will receive this study. If omitted, the study | |
55 // applies to all channels. | |
56 // Ex: [BETA, STABLE] | |
57 repeated Channel channel = 6; | |
58 | |
59 // Consistency setting for a study. | |
60 enum Consistency { | |
61 SESSION = 0; // Can't change within a session. | |
62 PERMANENT = 1; // Can't change for a given user. | |
63 } | |
64 | |
65 // Consistency setting for this study. Optional - defaults to SESSION. | |
66 // Ex: PERMANENT | |
67 optional Consistency consistency = 7 [default = SESSION]; | |
68 | |
69 // Name of the experiment that gets the default experience. This experiment | |
70 // must be included in the list below. | |
71 // Ex: "default" | |
72 optional string default_experiment_name = 8; | |
73 | |
74 // An experiment within the study. | |
75 // | |
76 // Next tag: 4 | |
77 message Experiment { | |
78 // The name of the experiment within the study. | |
79 // Ex: "bucketA" | |
80 required string name = 1; | |
81 // The cut of the total probability taken for this group (the x in x / N, | |
82 // where N is the sum of all x’s). | |
83 // Ex: "50" | |
84 required uint32 probability_weight = 2; | |
85 // Optional id used to uniquely identify this experiment. | |
86 optional uint64 experiment_id = 3; | |
87 } | |
88 | |
89 // List of experiments in this study. This list should include the default / | |
90 // control group. | |
91 // | |
92 // For example, to specify that 99% of users get the default behavior, while | |
93 // 0.5% of users get experience "A" and 0.5% of users get experience "B", | |
94 // specify the values below. | |
95 // Ex: { "default": 990, "A": 5, "B": 5 } | |
96 repeated Experiment experiment = 9; | |
97 } | |
OLD | NEW |