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

Side by Side Diff: testing/variations/README.md

Issue 2360053002: Document the Combined Field Trial Testing Configuration Format (Closed)
Patch Set: Quick fixes Created 4 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
« no previous file with comments | « testing/variations/README ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Field Trial Testing Configuration
2
3 This directory contains the field trial configuration used to ensure testing
4 coverage of the experiments defined in `fieldtrial_testing_config.json`.
5
6 Note that these apply specifically for Chromium builds. Chrome branded /
7 official builds do not use these definitions.
8
9 ## Config File Format
10
11 ```json
12 {
13 "StudyName": [
14 {
15 "platforms": [Array of Strings of Valid Platforms for These Experime nts],
16 "experiments": [
17 {
18 "//0:": "Comment Line 0. Lines 0-9 are supported.",
19 "name": "ExperimentName",
20 "params": {Dictionary of Params},
21 "enable_features": [Array of Strings of Features],
22 "disable_features": [Array of Strings of Features]
23 },
24 ...
25 ]
26 },
27 ...
28 ],
29 ...
30 }
31 ```
32
33 The config file is a dictionary at the top level mapping a study name to an
34 array of *experiment descriptions*. The study name should match the Field Trial
35 study name.
36
37 ### Experiment Descriptions
38
39 Each *experiment description* is a dictionary containing both `platform` and
40 `experiments`.
41
42 `platform` is an array of strings of valid platforms and the
43 strings may be `android`, `chromeos`, `ios`, `linux`, `mac`, or `windows`.
44
45 `experiments` is an array containing the *experiments*.
46
47 The converter uses the platforms array to determine what experiments to include
48 for the study. All matching platforms will have their experiments concatenated
49 together for the study.
50
51 The first available experiment after platform filtering and concatenation is the
52 default experiment for Chromium builds. This experiment is also used for perf
53 bots and browser tests in the waterfall.
Alexei Svitkine (slow) 2016/09/21 21:38:17 I feel like this paragraph should live in the firs
robliao 2016/09/21 22:06:09 Done.
54
55 ### Experiments
56 Each *experiment* is a dictionary that must contain the `name` key, identifying
57 the experiment group name which should match the Field Trial experiment group
58 name.
59
60 The remaining keys, `params`, `enable_features`, and `disable_features` are
61 optional.
62
63 `params` is a dictionary mapping parameter name to parameter.
64
65 `enable_features` and `disable_features` indicate which features should be
66 enabled and disabled respectively. As a reminder, as the variations framework
67 does not actually fetch the Field Trial definitions from the server for Chromium
68 builds, so any feature enabling or disabling must be done here.
69
70 #### Comments
71
72 Each experiment may have up to 10 lines of comments. The comment key must be of
73 the form `//N` where `N` is between 0 and 9.
74
75 ```json
76 {
77 "AStudyWithExperimentComment": [
78 {
79 "platforms": ["chromeos", "linux", "mac", "win"],
80 "experiments": [
81 {
82 //0: "This is the first comment line.",
Alexei Svitkine (slow) 2016/09/21 21:38:17 The syntax seems different here than on line 18. P
robliao 2016/09/21 22:06:09 Made it consistent, although this change would be
83 //1: "This is the second comment line.",
84 "name": "DesktopExperiment"
85 }
86 ]
87 }
88 ]
89 }
90 ```
91
92 ### Specifying Different Experiments for Different Platforms
93 Simply specify two different experiment configurations under the same study:
94
95 ```json
96 {
97 "DifferentExperimentsPerPlatform": [
98 {
99 "platforms": ["chromeos", "linux", "mac", "win"],
100 "experiments": [{ "name": "DesktopExperiment" }]
101 },
102 {
103 "platforms": ["android", "ios"],
104 "experiments": [{ "name": "MobileExperiment" }]
105 }
106 ]
107 }
108 ```
109
110 ## Presubmit
111 The presubmit tool will ensure that your changes follow the correct ordering and
112 format.
OLDNEW
« no previous file with comments | « testing/variations/README ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698