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

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

Issue 2360053002: Document the Combined Field Trial Testing Configuration Format (Closed)
Patch Set: CR Feedback Created 4 years, 2 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 The first available experiment after platform filtering and concatenation is the
10 default experiment for Chromium builds. This experiment is also used for perf
11 bots and browser tests in the waterfall.
12
13 ## Config File Format
14
15 ```json
16 {
17 "StudyName": [
18 {
19 "platforms": [Array of Strings of Valid Platforms for These Experime nts],
20 "experiments": [
21 {
22 "//0": "Comment Line 0. Lines 0-9 are supported.",
23 "name": "ExperimentName",
24 "params": {Dictionary of Params},
25 "enable_features": [Array of Strings of Features],
26 "disable_features": [Array of Strings of Features]
27 },
28 ...
29 ]
30 },
31 ...
32 ],
33 ...
34 }
35 ```
36
37 The config file is a dictionary at the top level mapping a study name to an
38 array of *experiment descriptions*. The study name should match the Field Trial
39 study name.
40
41 ### Experiment Descriptions
rkaplow 2016/09/22 19:00:19 This shouldn't be Experiment Description since the
robliao 2016/09/22 21:13:39 A study can have one or more experiment descriptio
42
43 Each *experiment description* is a dictionary containing both `platform` and
44 `experiments`.
45
46 `platform` is an array of strings of valid platforms and the
47 strings may be `android`, `chromeos`, `ios`, `linux`, `mac`, or `windows`.
48
49 `experiments` is an array containing the *experiments*.
50
51 The converter uses the platforms array to determine what experiments to include
52 for the study. All matching platforms will have their experiments concatenated
53 together for the study.
54
55 ### Experiments
rkaplow 2016/09/22 19:00:19 just to make it easier for regular people to under
robliao 2016/09/22 21:13:39 Done.
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
rkaplow 2016/09/22 19:00:19 can you be more explicit with what feature menas h
robliao 2016/09/22 21:13:39 Done. Added a link.
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.",
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