================================ Service Worker Performance Tests ================================ Our performance tests are mochitests running in the `mozperftest `_ harness. Tests reside under `dom/serviceworkers/test/performance `_, itemized in perftest.toml. Beyond the standard mochitest machinery, performance tests define a ``perfMetadata`` variable at the top level, and call: ``info("perfMetrics", JSON.stringify(metrics));`` to report their results, where *metrics* is a map from testpoint name to scalar numeric value. See the `performance scripts documentation `_ for more. They can be run via mach perftest, or as normal mochitests via mach test. (Currently we can’t run the full manifest, see `bug 1865852 `_.) Adding new tests ================ Add files to `perftest.toml `_ as usual for mochitests. Modify linux.yml, macosx.yml, and windows.yml under `taskcluster/kinds/perftest `_. Currently, each test needs to be added individually to the run command (`here `_, for example). kind.yml can be ignored–it provides some defaults. Modify the documentation using: ``$ ./mach lint -l perfdocs . --fix --warnings --outgoing`` There's currently a `bug `_ which will likely cause the command to fail. Running it a second time should succeed. Staging tests in try jobs ========================= ``$ ./mach try fuzzy --full`` Look for ``‘service-worker`` to find things like: | >perftest-windows-service-worker | >perftest-macosx-service-worker | >perftest-linux-service-worker | Results ======= Results can be found in treeherder on `mozilla-central `_ and `autoland `_. Look for linux-sw, macosx-sw, and win-sw (`example `_). These symbol names are defined in the .yml files under taskcluster/kinds/perftest. Contacts ======== | `Joshua Marshall `_ (DOM LWS) | `Gregory Mierzwinski `_ (Performance Tools)