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/. 4--- 5job-defaults: 6 worker-type: t-win10-64-1803-hw 7 fetches: 8 build: 9 - artifact: target.perftests.tests.tar.gz 10 - artifact: target.zip 11 toolchain: 12 - win64-node-12 13 - win64-geckodriver 14 platform: windows10-64-shippable/opt 15 require-build: 16 windows10-64-shippable/opt: build-win64-shippable/opt 17 scopes: 18 - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles 19 20try-browsertime: 21 description: Run ./mach perftest on windows 22 treeherder: 23 symbol: perftest(win-bt) 24 run: 25 command: >- 26 mkdir -p $MOZ_FETCHES_DIR/../artifacts && 27 cd $MOZ_FETCHES_DIR && 28 python3.exe python/mozperftest/mozperftest/runner.py 29 --on-try 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 35 36domcount: 37 description: Run DOM test 38 treeherder: 39 symbol: perftest(win-dom) 40 attributes: 41 batch: false 42 cron: true 43 run: 44 command: >- 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 51 --perfherder 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 56 57 58livesites: 59 description: Live site performance testing 60 variants: [http3] 61 treeherder: 62 symbol: perftest({symbol}) 63 attributes: 64 batch: false 65 cron: true 66 perftest: 67 - [cloudflare, netwerk/test/perf/perftest_http3_cloudflareblog.js] 68 # broken: bug 1678588 69 # - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js] 70 - [g-image, netwerk/test/perf/perftest_http3_google_image.js] 71 - [g-search, netwerk/test/perf/perftest_http3_google_search.js] 72 - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js] 73 # broken: bug 1695871 74 # - [ytw, netwerk/test/perf/perftest_http3_youtube_watch.js] 75 # - [ytw-scroll, netwerk/test/perf/perftest_http3_youtube_watch_scroll.js] 76 perftest-metrics: 77 by-perftest: 78 cloudflare: 79 # Example of how the specify settings for each metric 80 resources: 81 extraOptions: [] 82 firstPaint: {} 83 navigationTiming: {} 84 pageTimings: {} 85 timeToContentfulPaint: {} 86 # broken: bug 1678588 87 # fb-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, requestsPerSecond] 88 g-image: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, imagesPerSecond, imageLoadTime] 89 g-search: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint] 90 lq-fetch: [navigationTiming, pageTimings, resources, timeToContentfulPaint, resourceLoadTime, imagesLoaded, imagesMissed] 91 # broken: bug 1695871 92 # ytw: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames] 93 # ytw-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames] 94 default: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint] 95 # Leave this here so people know this exists when looking 96 # for examples 97 perftest-perfherder-global: 98 extraOptions: [] 99 perftest-extra-options: 100 by-perftest: 101 cloudflare: 102 - --perfherder-split-by browserScripts.pageinfo.url 103 g-search: 104 - --perfherder-split-by browserScripts.pageinfo.url 105 lq-fetch: 106 - --perfherder-split-by browserScripts.pageinfo.url 107 default: [] 108 perftest-btime-variants: 109 by-perftest: 110 cloudflare: 111 - ["10s", browsertime.waitTime=10000] 112 - ["25s", browsertime.waitTime=25000] 113 - ["35s", browsertime.waitTime=35000] 114 - ["60s", browsertime.waitTime=60000] 115 # broken: bug 1678588 116 # fb-scroll: 117 # - ["10s", browsertime.waitTime=10000] 118 # - ["25s", browsertime.waitTime=25000] 119 # - ["35s", browsertime.waitTime=35000] 120 # - ["60s", browsertime.waitTime=60000] 121 g-search: 122 - ["10s", browsertime.waitTime=10000] 123 - ["25s", browsertime.waitTime=25000] 124 - ["35s", browsertime.waitTime=35000] 125 - ["60s", browsertime.waitTime=60000] 126 lq-fetch: 127 - [null, "browsertime.waitTime=1000,browsertime.cycles=5"] 128 # broken: bug 1695871 129 # ytw: 130 # - [null, browsertime.waitTime=20000] 131 # ytw-scroll: 132 # - [null, browsertime.waitTime=20000] 133 default: 134 - [null, browsertime.waitTime=1000] 135 run: 136 command: >- 137 mkdir -p $MOZ_FETCHES_DIR/../artifacts && 138 cd $MOZ_FETCHES_DIR && 139 python3.exe python/mozperftest/mozperftest/runner.py 140 {perftest_testname} 141 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe 142 --browsertime-iterations 10 143 --flavor desktop-browser 144 --perfherder 145 --perfherder-metrics {perftest_metrics} 146 --perfherder-simplify-names 147 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe 148 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe 149 --output $MOZ_FETCHES_DIR/../artifacts 150 151controlled: 152 description: Controlled performance testing 153 treeherder: 154 symbol: perftest(controlled) 155 worker: 156 max-run-time: 14400 157 attributes: 158 batch: false 159 cron: false 160 run: 161 command: >- 162 mkdir -p $MOZ_FETCHES_DIR/../artifacts && 163 cd $MOZ_FETCHES_DIR && 164 python3.exe python/mozperftest/mozperftest/runner.py 165 netwerk/test/perf/perftest_http3_controlled.js 166 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe 167 --browsertime-iterations 1 168 --browsertime-cycles 96 169 --hooks netwerk/test/perf/hooks_throttling.py 170 --flavor desktop-browser 171 --perfherder 172 --perfherder-metrics name:navigationTiming,unit:ms name:pageTimings,unit:ms name:resources,unit:ms name:firstPaint,unit:ms name:timeToContentfulPaint,unit:ms 173 --perfherder-simplify-names 174 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe 175 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe 176 --output $MOZ_FETCHES_DIR/../artifacts 177 178perfstats: 179 description: Run PerfStats pageload test 180 treeherder: 181 symbol: perftest(win-perfstats) 182 attributes: 183 batch: false 184 cron: false 185 run: 186 command: >- 187 mkdir -p $MOZ_FETCHES_DIR/../artifacts && 188 cd $MOZ_FETCHES_DIR && 189 python3.exe python/mozperftest/mozperftest/runner.py 190 --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe 191 --flavor desktop-browser 192 --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe 193 --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe 194 --output $MOZ_FETCHES_DIR/../artifacts 195 --perfherder 196 --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 197 --browsertime-iterations 10 198 --hooks testing/performance/hooks_perfstats.py 199 testing/performance/perftest_perfstats.js 200