Bug 1856942: part 5) Factor async loading of a sheet out of `Loader::LoadSheet`....
[gecko.git] / testing / performance / perftest_perfstats.js
blobad3e49eb7982a06f0af01ff43b92210b1166f365
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/. */
5 const urls = [
6   "https://accounts.google.com",
7   "https://cnn.com/ampstories/us/why-hurricane-michael-is-a-monster-unlike-any-other",
8   "https://stackoverflow.com/questions/927358/how-do-i-undo-the-most-recent-commits-in-git",
9   "https://expedia.com/Hotel-Search?destination=New+York%2C+New+York&latLong=40.756680%2C-73.986470&regionId=178293&startDate=&endDate=&rooms=1&_xpid=11905%7C1&adults=2",
10   "https://m.imdb.com/title/tt0083943/",
13 const idle_delay = 10000;
15 async function test(context, commands) {
16   await commands.wait.byTime(idle_delay);
18   await commands.measure.start();
20   // Cold
21   for (const url of urls) {
22     await commands.navigate(url);
23     await commands.wait.byTime(idle_delay);
24   }
26   await commands.navigate("about:blank");
27   await commands.wait.byTime(idle_delay);
29   // Warm
30   for (const url of urls) {
31     await commands.navigate(url);
32     await commands.wait.byTime(idle_delay);
33   }
35   return commands.measure.stop();
38 module.exports = {
39   test,
40   owner: "Performance Team",
41   name: "perfstats",
42   description: "Collect perfstats for the given site",
43   longDescription: `
44   This test launches browsertime with the perfStats option (will collect low-overhead timings, see Bug 1553254).
45   The test currently runs a short user journey. A selection of popular sites are visited, first as cold pageloads, and then as warm.
46   `,
47   usage: `
48   ./mach perftest --hook testing/performance/hooks_perfstats.py \
49   testing/performance/perftest_perfstats.js --browsertime-iterations 10 \
50   --perfherder-metrics name:HttpChannelCompletion_Cache name:HttpChannelCompletion_Network
51   `,