зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1749928 - [devtools] Split DevTools DAMP test suite in several chunks r=perftest-reviewers,sparky,nchevobbe,ochameau
Depends on D141966 Split DAMP in 3 explicit sub-suites: damp-inspector, damp-webconsole, damp-other Locally you can still run any DAMP subtest with --suite=damp Differential Revision: https://phabricator.services.mozilla.com/D137655
This commit is contained in:
Родитель
7c3bf8a3fa
Коммит
b1d70ee7bd
|
@ -98,10 +98,10 @@ talos-chrome-profiling:
|
|||
- --suite=chromez
|
||||
- --gecko-profile
|
||||
|
||||
talos-damp:
|
||||
description: Talos devtools (damp)
|
||||
try-name: damp
|
||||
treeherder-symbol: T(damp)
|
||||
talos-damp-inspector:
|
||||
description: Talos devtools inspector (damp-inspector)
|
||||
try-name: damp-inspector
|
||||
treeherder-symbol: T(damp-inspector)
|
||||
max-run-time: 5400
|
||||
variants:
|
||||
- fission
|
||||
|
@ -121,12 +121,62 @@ talos-damp:
|
|||
default: [mozilla-beta, trunk]
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --suite=damp
|
||||
- --suite=damp-inspector
|
||||
|
||||
talos-damp-profiling:
|
||||
description: Talos devtools (damp) with gecko profiling
|
||||
try-name: damp-prof
|
||||
treeherder-symbol: T-Prof(damp)
|
||||
talos-damp-webconsole:
|
||||
description: Talos devtools webconsole (damp-webconsole)
|
||||
try-name: damp-webconsole
|
||||
treeherder-symbol: T(damp-webconsole)
|
||||
max-run-time: 5400
|
||||
variants:
|
||||
- fission
|
||||
- webrender-sw+fission
|
||||
run-without-variant: false
|
||||
run-on-projects:
|
||||
by-variant:
|
||||
webrender-sw+fission:
|
||||
by-test-platform:
|
||||
(linux1804|windows10|macosx1015)-64-shippable-qr.*: [mozilla-beta, trunk]
|
||||
default: []
|
||||
default:
|
||||
by-test-platform:
|
||||
windows.*-32-shippable.*/.*: []
|
||||
(linux|windows|macos)(?!.*shippable).*: []
|
||||
(linux|windows10-64|macos)(?!.*-qr).*: []
|
||||
default: [mozilla-beta, trunk]
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --suite=damp-webconsole
|
||||
|
||||
talos-damp-other:
|
||||
description: Talos devtools other (damp-other)
|
||||
try-name: damp-other
|
||||
treeherder-symbol: T(damp-other)
|
||||
max-run-time: 5400
|
||||
variants:
|
||||
- fission
|
||||
- webrender-sw+fission
|
||||
run-without-variant: false
|
||||
run-on-projects:
|
||||
by-variant:
|
||||
webrender-sw+fission:
|
||||
by-test-platform:
|
||||
(linux1804|windows10|macosx1015)-64-shippable-qr.*: [mozilla-beta, trunk]
|
||||
default: []
|
||||
default:
|
||||
by-test-platform:
|
||||
windows.*-32-shippable.*/.*: []
|
||||
(linux|windows|macos)(?!.*shippable).*: []
|
||||
(linux|windows10-64|macos)(?!.*-qr).*: []
|
||||
default: [mozilla-beta, trunk]
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --suite=damp-other
|
||||
|
||||
talos-damp-inspector-profiling:
|
||||
description: Talos devtools inspector (damp-inspector) with gecko profiling
|
||||
try-name: damp-inspector-prof
|
||||
treeherder-symbol: T-Prof(damp-inspector)
|
||||
tier: 2
|
||||
max-run-time: 5400
|
||||
variants: [fission]
|
||||
|
@ -134,7 +184,35 @@ talos-damp-profiling:
|
|||
run-on-projects: []
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --suite=damp
|
||||
- --suite=damp-inspector
|
||||
- --gecko-profile
|
||||
|
||||
talos-damp-webconsole-profiling:
|
||||
description: Talos devtools webconsole (damp-webconsole) with gecko profiling
|
||||
try-name: damp-webconsole-prof
|
||||
treeherder-symbol: T-Prof(damp-webconsole)
|
||||
tier: 2
|
||||
max-run-time: 5400
|
||||
variants: [fission]
|
||||
run-without-variant: false
|
||||
run-on-projects: []
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --suite=damp-webconsole
|
||||
- --gecko-profile
|
||||
|
||||
talos-damp-other-profiling:
|
||||
description: Talos devtools other (damp-other) with gecko profiling
|
||||
try-name: damp-other-prof
|
||||
treeherder-symbol: T-Prof(damp-other)
|
||||
tier: 2
|
||||
max-run-time: 5400
|
||||
variants: [fission]
|
||||
run-without-variant: false
|
||||
run-on-projects: []
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --suite=damp-other
|
||||
- --gecko-profile
|
||||
|
||||
talos-dromaeojs:
|
||||
|
|
|
@ -35,7 +35,9 @@ mochitest-webgpu:
|
|||
talos:
|
||||
- talos-bcv
|
||||
- talos-chrome
|
||||
- talos-damp
|
||||
- talos-damp-inspector
|
||||
- talos-damp-webconsole
|
||||
- talos-damp-other
|
||||
- talos-dromaeojs
|
||||
- talos-g1
|
||||
- talos-g3
|
||||
|
@ -276,7 +278,9 @@ windows-aarch64-tests:
|
|||
windows-talos:
|
||||
- talos-bcv
|
||||
- talos-chrome
|
||||
- talos-damp
|
||||
- talos-damp-inspector
|
||||
- talos-damp-webconsole
|
||||
- talos-damp-other
|
||||
- talos-dromaeojs
|
||||
- talos-g1
|
||||
- talos-g4
|
||||
|
@ -347,7 +351,9 @@ macosx1015-64-qr-tests:
|
|||
macosx64-talos:
|
||||
- talos-bcv
|
||||
- talos-chrome
|
||||
- talos-damp
|
||||
- talos-damp-inspector
|
||||
- talos-damp-webconsole
|
||||
- talos-damp-other
|
||||
- talos-dromaeojs
|
||||
- talos-g1
|
||||
- talos-g4
|
||||
|
|
|
@ -1450,13 +1450,13 @@ Talos test lists
|
|||
* contact: :ochameau and devtools team
|
||||
* source: `damp <https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/devtools>`__
|
||||
* type: `Page load`_
|
||||
* measuring: Developer Tools toolbox startup, shutdown, and reload performance
|
||||
* measuring: Developer Tools toolbox performance. Split in test suites covering different DevTools areas (inspector, webconsole, other).
|
||||
* reporting: intervals in ms (lower is better)
|
||||
* see below for details
|
||||
* data: there are 36 reported subtests from DAMP which we load 25 times, resulting in 36 sets of 25 data points.
|
||||
* summarization:
|
||||
* subtest: `ignore first`_ data point, then take the `median`_ of the remaining 24 data points; `source: test.py <https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l356>`__
|
||||
* suite: `geometric mean`_ of the 36 subtest results.
|
||||
* suite: No value for the suite, only individual subtests are relevant.
|
||||
* description:
|
||||
To run this locally, you'll need to pull down the `tp5 page
|
||||
set <#page-sets>`__ and run it in a local web server. See the `tp5
|
||||
|
@ -1528,12 +1528,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
|
@ -1549,12 +1569,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
|
@ -1570,12 +1610,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
|
@ -1591,12 +1651,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
|
@ -1612,12 +1692,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
|
@ -1633,12 +1733,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ❌
|
||||
- ❌
|
||||
- ❌
|
||||
|
@ -1654,12 +1774,32 @@ Talos test lists
|
|||
- autoland
|
||||
- mozilla-release
|
||||
- mozilla-beta
|
||||
* - **talos-damp-fis-e10s**
|
||||
* - **talos-damp-inspector-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-swr-fis-e10s**
|
||||
* - **talos-damp-inspector-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-other-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-other-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-webconsole-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
- ✅
|
||||
* - **talos-damp-webconsole-swr-fis-e10s**
|
||||
- ✅
|
||||
- ✅
|
||||
- ❌
|
||||
|
|
|
@ -142,12 +142,12 @@ suites:
|
|||
- contact: :ochameau and devtools team
|
||||
- source: `damp <https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/devtools>`__
|
||||
- type: `Page load`_
|
||||
- measuring: Developer Tools toolbox startup, shutdown, and reload performance
|
||||
- measuring: Developer Tools toolbox performance. Split in test suites covering different DevTools areas (inspector, webconsole, other).
|
||||
- reporting: intervals in ms (lower is better) - see below for details
|
||||
- data: there are 36 reported subtests from DAMP which we load 25 times, resulting in 36 sets of 25 data points.
|
||||
- summarization:
|
||||
* subtest: `ignore first`_ data point, then take the `median`_ of the remaining 24 data points; `source: test.py <https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l356>`__
|
||||
* suite: `geometric mean`_ of the 36 subtest results.
|
||||
* suite: No value for the suite, only individual subtests are relevant.
|
||||
- description:
|
||||
To run this locally, you'll need to pull down the `tp5 page
|
||||
set <#page-sets>`__ and run it in a local web server. See the `tp5
|
||||
|
|
|
@ -24,7 +24,23 @@
|
|||
},
|
||||
"damp": {
|
||||
"tests": ["damp"],
|
||||
"pagesets_name": "tp5n.zip"
|
||||
"pagesets_name": "tp5n.zip",
|
||||
"extra_prefs": ["talos.damp.suite=all"]
|
||||
},
|
||||
"damp-inspector": {
|
||||
"tests": ["damp"],
|
||||
"pagesets_name": "tp5n.zip",
|
||||
"extra_prefs": ["talos.damp.suite=inspector"]
|
||||
},
|
||||
"damp-webconsole": {
|
||||
"tests": ["damp"],
|
||||
"pagesets_name": "tp5n.zip",
|
||||
"extra_prefs": ["talos.damp.suite=webconsole"]
|
||||
},
|
||||
"damp-other": {
|
||||
"tests": ["damp"],
|
||||
"pagesets_name": "tp5n.zip",
|
||||
"extra_prefs": ["talos.damp.suite=other"]
|
||||
},
|
||||
"tabswitch": {
|
||||
"tests": ["tabswitch"],
|
||||
|
|
|
@ -333,7 +333,7 @@ class FFSetup(object):
|
|||
self._init_env()
|
||||
self._init_profile()
|
||||
try:
|
||||
if not self.debug_mode and self.test_config["name"] != "damp":
|
||||
if not self.debug_mode and not self.test_config["name"].startswith("damp"):
|
||||
self._run_profile()
|
||||
except BaseException:
|
||||
self.clean()
|
||||
|
|
|
@ -322,6 +322,15 @@ class Output(object):
|
|||
score = 60 * 1000 / filter.geometric_mean(results) / correctionFactor
|
||||
return score
|
||||
|
||||
@classmethod
|
||||
def damp_score(cls, val_list):
|
||||
"""
|
||||
damp_score: damp is only interested in the value of subtests and will
|
||||
aggregate data from several suites.
|
||||
Use a hardcoded value for the suite to avoid inconsistencies.
|
||||
"""
|
||||
return 100
|
||||
|
||||
def construct_results(self, vals, testname):
|
||||
if "responsiveness" in testname:
|
||||
return filter.responsiveness_Metric([val for (val, page) in vals])
|
||||
|
@ -337,6 +346,8 @@ class Output(object):
|
|||
return self.speedometer_score(vals)
|
||||
elif testname.startswith("stylebench"):
|
||||
return self.stylebench_score(vals)
|
||||
elif testname.startswith("damp"):
|
||||
return self.damp_score(vals)
|
||||
elif len(vals) > 1:
|
||||
return filter.geometric_mean([i for i, j in vals])
|
||||
else:
|
||||
|
|
|
@ -6,6 +6,13 @@
|
|||
|
||||
const Services = require("Services");
|
||||
const isWindows = Services.appinfo.OS === "WINNT";
|
||||
|
||||
const TEST_SUITES = {
|
||||
INSPECTOR: "inspector",
|
||||
WEBCONSOLE: "webconsole",
|
||||
OTHER: "other",
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the registry for all DAMP tests. Tests will be run in the order specified by
|
||||
* the DAMP_TESTS array.
|
||||
|
@ -19,189 +26,197 @@ const isWindows = Services.appinfo.OS === "WINNT";
|
|||
* - {Boolean} cold: set to true to run the test only during the first run of the browser
|
||||
*/
|
||||
|
||||
module.exports = [
|
||||
// The first cold-open test is *colder* than the other cold-open tests, it will also
|
||||
// assess the impact of loading shared DevTools modules for the first time.
|
||||
// This test will assert the impact of base loader/Loader.jsm modules loading,
|
||||
// typically gDevtools/gDevToolsBrowser/Framework modules, while the others will mostly
|
||||
// track panel-specific modules (Browser loader, but not only).
|
||||
{
|
||||
name: "inspector.cold-open",
|
||||
path: "inspector/cold-open.js",
|
||||
description:
|
||||
"Measure first open toolbox on inspector panel (incl. shared modules)",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "debugger.cold-open",
|
||||
path: "debugger/cold-open.js",
|
||||
description: "Measure first open toolbox on debugger panel",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "webconsole.cold-open",
|
||||
path: "webconsole/cold-open.js",
|
||||
description: "Measure first open toolbox on webconsole panel",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "netmonitor.cold-open",
|
||||
path: "netmonitor/cold-open.js",
|
||||
description: "Measure first open toolbox on netmonitor panel",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "accessibility.cold-open",
|
||||
path: "accessibility/cold-open.js",
|
||||
description: "Measure first open toolbox on accessibility panel",
|
||||
cold: true,
|
||||
},
|
||||
// Run all tests against "simple" document
|
||||
{
|
||||
name: "simple.webconsole",
|
||||
path: "webconsole/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on webconsole panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.inspector",
|
||||
path: "inspector/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on inspector panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.debugger",
|
||||
path: "debugger/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on debugger panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.styleeditor",
|
||||
path: "styleeditor/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on style editor panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.netmonitor",
|
||||
path: "netmonitor/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on network monitor panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.accessibility",
|
||||
path: "accessibility/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on accessibility panel against simple document",
|
||||
// Bug 1660854 - disable on Windows due to frequent failures
|
||||
disabled: isWindows,
|
||||
},
|
||||
// Run all tests against "complicated" document
|
||||
{
|
||||
name: "complicated.webconsole",
|
||||
path: "webconsole/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on webconsole panel against complicated document",
|
||||
},
|
||||
{
|
||||
name: "complicated.inspector",
|
||||
path: "inspector/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on inspector panel against complicated document",
|
||||
},
|
||||
{
|
||||
name: "complicated.debugger",
|
||||
path: "debugger/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on debugger panel against complicated document",
|
||||
},
|
||||
{
|
||||
name: "complicated.styleeditor",
|
||||
path: "styleeditor/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on style editor panel against complicated document",
|
||||
},
|
||||
// Bug 1693975 - disable test due to frequent failures
|
||||
// {
|
||||
// name: "complicated.netmonitor",
|
||||
// path: "netmonitor/complicated.js",
|
||||
// description:
|
||||
// "Measure open/close toolbox on network monitor panel against complicated document",
|
||||
// },
|
||||
// Run all tests against a document specific to each tool
|
||||
{
|
||||
name: "custom.webconsole",
|
||||
path: "webconsole/custom.js",
|
||||
},
|
||||
{
|
||||
name: "custom.inspector",
|
||||
path: "inspector/custom.js",
|
||||
},
|
||||
{
|
||||
name: "custom.debugger",
|
||||
path: "debugger/custom.js",
|
||||
},
|
||||
// Run individual tests covering a very precise tool feature.
|
||||
{
|
||||
name: "console.bulklog",
|
||||
path: "webconsole/bulklog.js",
|
||||
description:
|
||||
"Measure time for a bunch of sync console.log statements to appear",
|
||||
},
|
||||
{
|
||||
name: "console.autocomplete",
|
||||
path: "webconsole/autocomplete.js",
|
||||
description: "Measure time for autocomplete popup to appear",
|
||||
},
|
||||
{
|
||||
name: "console.streamlog",
|
||||
path: "webconsole/streamlog.js",
|
||||
description:
|
||||
"Measure rAF on page during a stream of console.log statements",
|
||||
},
|
||||
{
|
||||
name: "console.objectexpand",
|
||||
path: "webconsole/objectexpand.js",
|
||||
description: "Measure time to expand a large object and close the console",
|
||||
},
|
||||
{
|
||||
name: "console.openwithcache",
|
||||
path: "webconsole/openwithcache.js",
|
||||
description:
|
||||
"Measure time to render last logged messages in console for a page with 100 logged messages",
|
||||
},
|
||||
{
|
||||
name: "console.typing",
|
||||
path: "webconsole/typing.js",
|
||||
description: "Measure time it takes to type something in the console input",
|
||||
},
|
||||
{
|
||||
name: "inspector.mutations",
|
||||
path: "inspector/mutations.js",
|
||||
description:
|
||||
"Measure the time to perform childList mutations when inspector is enabled",
|
||||
},
|
||||
{
|
||||
name: "inspector.layout",
|
||||
path: "inspector/layout.js",
|
||||
description:
|
||||
"Measure the time to open/close toolbox on inspector with layout tab against big document with grid containers",
|
||||
},
|
||||
{
|
||||
name: "panelsInBackground.reload",
|
||||
path: "toolbox/panels-in-background.js",
|
||||
description: "Measure page reload time when all panels are in background",
|
||||
},
|
||||
{
|
||||
name: "toolbox.screenshot",
|
||||
path: "toolbox/screenshot.js",
|
||||
description: "Measure the time to take a fullpage screenshot",
|
||||
},
|
||||
{
|
||||
name: "server.protocoljs",
|
||||
path: "server/protocol.js",
|
||||
description: "Measure RDP/protocol.js performance",
|
||||
},
|
||||
// ⚠ Adding new individual tests slows down DAMP execution ⚠
|
||||
// ⚠ Consider contributing to custom.${tool} rather than adding isolated tests ⚠
|
||||
// ⚠ See https://firefox-source-docs.mozilla.org/devtools/tests/writing-perf-tests.html ⚠
|
||||
];
|
||||
module.exports = {
|
||||
[TEST_SUITES.INSPECTOR]: [
|
||||
// The first cold-open test is *colder* than the other cold-open tests, it will also
|
||||
// assess the impact of loading shared DevTools modules for the first time.
|
||||
// This test will assert the impact of base loader/Loader.jsm modules loading,
|
||||
// typically gDevtools/gDevToolsBrowser/Framework modules, while the others will mostly
|
||||
// track panel-specific modules (Browser loader, but not only).
|
||||
{
|
||||
name: "inspector.cold-open",
|
||||
path: "inspector/cold-open.js",
|
||||
description:
|
||||
"Measure first open toolbox on inspector panel (incl. shared modules)",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "accessibility.cold-open",
|
||||
path: "accessibility/cold-open.js",
|
||||
description: "Measure first open toolbox on accessibility panel",
|
||||
cold: true,
|
||||
},
|
||||
// Run all tests against "simple" document
|
||||
{
|
||||
name: "simple.inspector",
|
||||
path: "inspector/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on inspector panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.styleeditor",
|
||||
path: "styleeditor/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on style editor panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.accessibility",
|
||||
path: "accessibility/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on accessibility panel against simple document",
|
||||
// Bug 1660854 - disable on Windows due to frequent failures
|
||||
disabled: isWindows,
|
||||
},
|
||||
// Run all tests against "complicated" document
|
||||
{
|
||||
name: "complicated.inspector",
|
||||
path: "inspector/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on inspector panel against complicated document",
|
||||
},
|
||||
{
|
||||
name: "complicated.styleeditor",
|
||||
path: "styleeditor/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on style editor panel against complicated document",
|
||||
},
|
||||
{
|
||||
name: "custom.inspector",
|
||||
path: "inspector/custom.js",
|
||||
},
|
||||
// Run individual tests covering a very precise tool feature.
|
||||
{
|
||||
name: "inspector.mutations",
|
||||
path: "inspector/mutations.js",
|
||||
description:
|
||||
"Measure the time to perform childList mutations when inspector is enabled",
|
||||
},
|
||||
{
|
||||
name: "inspector.layout",
|
||||
path: "inspector/layout.js",
|
||||
description:
|
||||
"Measure the time to open/close toolbox on inspector with layout tab against big document with grid containers",
|
||||
},
|
||||
],
|
||||
[TEST_SUITES.WEBCONSOLE]: [
|
||||
{
|
||||
name: "webconsole.cold-open",
|
||||
path: "webconsole/cold-open.js",
|
||||
description: "Measure first open toolbox on webconsole panel",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "simple.webconsole",
|
||||
path: "webconsole/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on webconsole panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "complicated.webconsole",
|
||||
path: "webconsole/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on webconsole panel against complicated document",
|
||||
},
|
||||
{
|
||||
name: "custom.webconsole",
|
||||
path: "webconsole/custom.js",
|
||||
},
|
||||
{
|
||||
name: "console.bulklog",
|
||||
path: "webconsole/bulklog.js",
|
||||
description:
|
||||
"Measure time for a bunch of sync console.log statements to appear",
|
||||
},
|
||||
{
|
||||
name: "console.autocomplete",
|
||||
path: "webconsole/autocomplete.js",
|
||||
description: "Measure time for autocomplete popup to appear",
|
||||
},
|
||||
{
|
||||
name: "console.streamlog",
|
||||
path: "webconsole/streamlog.js",
|
||||
description:
|
||||
"Measure rAF on page during a stream of console.log statements",
|
||||
},
|
||||
{
|
||||
name: "console.objectexpand",
|
||||
path: "webconsole/objectexpand.js",
|
||||
description:
|
||||
"Measure time to expand a large object and close the console",
|
||||
},
|
||||
{
|
||||
name: "console.openwithcache",
|
||||
path: "webconsole/openwithcache.js",
|
||||
description:
|
||||
"Measure time to render last logged messages in console for a page with 100 logged messages",
|
||||
},
|
||||
{
|
||||
name: "console.typing",
|
||||
path: "webconsole/typing.js",
|
||||
description:
|
||||
"Measure time it takes to type something in the console input",
|
||||
},
|
||||
],
|
||||
[TEST_SUITES.OTHER]: [
|
||||
{
|
||||
name: "debugger.cold-open",
|
||||
path: "debugger/cold-open.js",
|
||||
description: "Measure first open toolbox on debugger panel",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "netmonitor.cold-open",
|
||||
path: "netmonitor/cold-open.js",
|
||||
description: "Measure first open toolbox on netmonitor panel",
|
||||
cold: true,
|
||||
},
|
||||
{
|
||||
name: "simple.debugger",
|
||||
path: "debugger/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on debugger panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "simple.netmonitor",
|
||||
path: "netmonitor/simple.js",
|
||||
description:
|
||||
"Measure open/close toolbox on network monitor panel against simple document",
|
||||
},
|
||||
{
|
||||
name: "complicated.debugger",
|
||||
path: "debugger/complicated.js",
|
||||
description:
|
||||
"Measure open/close toolbox on debugger panel against complicated document",
|
||||
},
|
||||
// Bug 1693975 - disable test due to frequent failures
|
||||
// {
|
||||
// name: "complicated.netmonitor",
|
||||
// path: "netmonitor/complicated.js",
|
||||
// description:
|
||||
// "Measure open/close toolbox on network monitor panel against complicated document",
|
||||
// },
|
||||
// Run all tests against a document specific to each tool
|
||||
{
|
||||
name: "custom.debugger",
|
||||
path: "debugger/custom.js",
|
||||
},
|
||||
{
|
||||
name: "panelsInBackground.reload",
|
||||
path: "toolbox/panels-in-background.js",
|
||||
description: "Measure page reload time when all panels are in background",
|
||||
},
|
||||
{
|
||||
name: "toolbox.screenshot",
|
||||
path: "toolbox/screenshot.js",
|
||||
description: "Measure the time to take a fullpage screenshot",
|
||||
},
|
||||
{
|
||||
name: "server.protocoljs",
|
||||
path: "server/protocol.js",
|
||||
description: "Measure RDP/protocol.js performance",
|
||||
},
|
||||
// ⚠ Adding new individual tests slows down DAMP execution ⚠
|
||||
// ⚠ Consider contributing to custom.${tool} rather than adding isolated tests ⚠
|
||||
// ⚠ See https://firefox-source-docs.mozilla.org/devtools/tests/writing-perf-tests.html ⚠
|
||||
],
|
||||
};
|
||||
|
|
|
@ -442,9 +442,20 @@ Damp.prototype = {
|
|||
// Filter tests via `./mach --subtests filter` command line argument
|
||||
let filter = Services.prefs.getCharPref("talos.subtests", "");
|
||||
|
||||
let tests = DAMP_TESTS.filter(test => !test.disabled).filter(test =>
|
||||
test.name.includes(filter)
|
||||
);
|
||||
const suite = Services.prefs.getCharPref("talos.damp.suite", "");
|
||||
let testSuite;
|
||||
if (suite === "all") {
|
||||
testSuite = Object.values(DAMP_TESTS).flat();
|
||||
} else {
|
||||
testSuite = DAMP_TESTS[suite];
|
||||
if (!testSuite) {
|
||||
this.error(`Unable to find any test suite matching '${suite}'`);
|
||||
}
|
||||
}
|
||||
|
||||
let tests = testSuite
|
||||
.filter(test => !test.disabled)
|
||||
.filter(test => test.name.includes(filter));
|
||||
|
||||
if (tests.length === 0) {
|
||||
this.error(`Unable to find any test matching '${filter}'`);
|
||||
|
|
Загрузка…
Ссылка в новой задаче