1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 worker-type: t-win10-64-1803-hw
9 - artifact: target.perftests.tests.tar.gz
10 - artifact: target.zip
14 platform: windows10-64-shippable/opt
16 windows10-64-shippable/opt: build-win64-shippable/opt
18 - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
21 description: Run ./mach perftest on windows
23 symbol: perftest(win-bt)
26 mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
27 cd $MOZ_FETCHES_DIR &&
28 python3.exe python/mozperftest/mozperftest/runner.py
30 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
31 --flavor desktop-browser
32 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
33 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
34 --output $MOZ_FETCHES_DIR/../artifacts
37 description: Run DOM test
39 symbol: perftest(win-dom)
45 mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
46 cd $MOZ_FETCHES_DIR &&
47 python3.exe python/mozperftest/mozperftest/runner.py
48 browser/base/content/test/perftest_browser_xhtml_dom.js
49 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
50 --flavor desktop-browser
52 --perfherder-metrics name:totalDOMCount,unit:count name:panelMenuCount,unit:count name:lightDOMCount,unit:count name:lightDOMDetails,unit:count
53 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
54 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
55 --output $MOZ_FETCHES_DIR/../artifacts
59 description: Live site performance testing
62 symbol: perftest({symbol})
67 - [cloudflare, netwerk/test/perf/perftest_http3_cloudflareblog.js]
69 # - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
70 - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
72 # - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
73 - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
75 # - [ytw, netwerk/test/perf/perftest_http3_youtube_watch.js]
76 # - [ytw-scroll, netwerk/test/perf/perftest_http3_youtube_watch_scroll.js]
80 # Example of how the specify settings for each metric
86 timeToContentfulPaint: {}
88 # fb-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, requestsPerSecond]
89 g-image: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, imagesPerSecond, imageLoadTime]
90 # g-search: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
91 lq-fetch: [navigationTiming, pageTimings, resources, timeToContentfulPaint, resourceLoadTime, imagesLoaded, imagesMissed]
93 # ytw: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
94 # ytw-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
95 default: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
96 # Leave this here so people know this exists when looking
98 perftest-perfherder-global:
100 perftest-extra-options:
103 - --perfherder-split-by browserScripts.pageinfo.url
105 # - --perfherder-split-by browserScripts.pageinfo.url
107 - --perfherder-split-by browserScripts.pageinfo.url
109 perftest-btime-variants:
112 - ["10s", browsertime.waitTime=10000]
113 - ["25s", browsertime.waitTime=25000]
114 - ["35s", browsertime.waitTime=35000]
115 - ["60s", browsertime.waitTime=60000]
116 # broken: bug 1678588
118 # - ["10s", browsertime.waitTime=10000]
119 # - ["25s", browsertime.waitTime=25000]
120 # - ["35s", browsertime.waitTime=35000]
121 # - ["60s", browsertime.waitTime=60000]
123 # - ["10s", browsertime.waitTime=10000]
124 # - ["25s", browsertime.waitTime=25000]
125 # - ["35s", browsertime.waitTime=35000]
126 # - ["60s", browsertime.waitTime=60000]
128 - [null, "browsertime.waitTime=1000,browsertime.cycles=5"]
129 # broken: bug 1695871
131 # - [null, browsertime.waitTime=20000]
133 # - [null, browsertime.waitTime=20000]
135 - [null, browsertime.waitTime=1000]
138 mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
139 cd $MOZ_FETCHES_DIR &&
140 python3.exe python/mozperftest/mozperftest/runner.py
142 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
143 --browsertime-iterations 10
144 --flavor desktop-browser
146 --perfherder-metrics {perftest_metrics}
147 --perfherder-simplify-names
148 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
149 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
150 --output $MOZ_FETCHES_DIR/../artifacts
153 description: Controlled performance testing
155 symbol: perftest(controlled)
163 mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
164 cd $MOZ_FETCHES_DIR &&
165 python3.exe python/mozperftest/mozperftest/runner.py
166 netwerk/test/perf/perftest_http3_controlled.js
167 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
168 --browsertime-iterations 1
169 --browsertime-cycles 96
170 --hooks netwerk/test/perf/hooks_throttling.py
171 --flavor desktop-browser
173 --perfherder-metrics name:navigationTiming,unit:ms name:pageTimings,unit:ms name:resources,unit:ms name:firstPaint,unit:ms name:timeToContentfulPaint,unit:ms
174 --perfherder-simplify-names
175 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
176 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
177 --output $MOZ_FETCHES_DIR/../artifacts
180 description: Run PerfStats pageload test
182 symbol: perftest(win-perfstats)
188 mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
189 cd $MOZ_FETCHES_DIR &&
190 python3.exe python/mozperftest/mozperftest/runner.py
191 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
192 --flavor desktop-browser
193 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
194 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
195 --output $MOZ_FETCHES_DIR/../artifacts
197 --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
198 --browsertime-iterations 10
199 --hooks testing/performance/hooks_perfstats.py
200 testing/performance/perftest_perfstats.js