Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 1 | # Accessibility Performance Measurements |
| 2 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 3 | Accessibility support can have a negative impact on performance, so it is |
| 4 | important to test for regressions and to improve performance over time. This can |
| 5 | be done with Chromium's performance testing framework, |
| 6 | [Telemetry](https://chromium.googlesource.com/catapult/+/HEAD/telemetry/README.md). |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 7 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 8 | The metrics for accessibility are defined in |
| 9 | [third_party/catapult/tracing/tracing/metrics/accessibility_metric.html](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/accessibility_metric.html). |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 10 | |
| 11 | ## Stories |
| 12 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 13 | A story is a url to load and actions to take on that page. |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 14 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 15 | Accessibility stories are defined in |
| 16 | [tools/perf/page_sets/system_health/accessibility_stories.py](https://cs.chromium.org/chromium/src/tools/perf/page_sets/system_health/accessibility_stories.py). |
| 17 | If a particular web page seems slow, you may add a new story here to track its |
| 18 | performance. |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 19 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 20 | ### Running stories from the command line |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 21 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 22 | To run all accessibility stories locally using the currently installed Canary |
| 23 | browser: |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 24 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 25 | ```shell |
| 26 | tools/perf/run_benchmark system_health.common_desktop \ |
| 27 | --story-filter="accessibility.*" \ |
| 28 | --browser canary |
| 29 | ``` |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 30 | |
Dominic Mazzoni | 98f103ba | 2019-01-16 18:04:07 | [diff] [blame] | 31 | To run the same set of tests on your own compiled version of Chrome: |
| 32 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 33 | ```shell |
| 34 | tools/perf/run_benchmark system_health.common_desktop \ |
| 35 | --story-filter="accessibility.*" \ |
| 36 | --browser=exact \ |
| 37 | --browser-executable=out/Release/chrome |
| 38 | ``` |
Dominic Mazzoni | 98f103ba | 2019-01-16 18:04:07 | [diff] [blame] | 39 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 40 | For more information, see the |
Mark Schillaci | c2f79e18 | 2021-10-26 18:26:49 | [diff] [blame] | 41 | [Telemetry documentation](https://github.com/catapult-project/catapult/blob/main/telemetry/docs/run_benchmarks_locally.md) |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 42 | or command-line help for tools/perf/run_benchmark. |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 43 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 44 | ### Capture web page replay for new or modified stories |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 45 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 46 | You should capture web page replay information whenever you add or modify a |
Ryan Heise | f7805bb | 2022-03-16 00:18:36 | [diff] [blame] | 47 | story. To do so, see [here](../../../tools/perf/recording_benchmarks.md). |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 48 | |
| 49 | ## Blink Perf |
| 50 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 51 | Blink perf tests are microbenchmarks that track the performance of a small |
| 52 | function or operation in isolation. You can find these tests in |
| 53 | [third_party/blink/perf_tests/accessibility/](https://cs.chromium.org/chromium/src/third_party/blink/perf_tests/accessibility/). |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 54 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 55 | To run these tests locally on your own compiled Chrome: |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 56 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 57 | ```shell |
| 58 | tools/perf/run_benchmark blink_perf.accessibility \ |
| 59 | --browser=exact \ |
| 60 | --browser-executable=out/Release/chrome |
| 61 | ``` |
Dominic Mazzoni | 98f103ba | 2019-01-16 18:04:07 | [diff] [blame] | 62 | |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 63 | ## Results |
| 64 | |
Dominic Mazzoni | fd246a0 | 2018-10-26 18:33:12 | [diff] [blame] | 65 | The results can be found at |
| 66 | [https://chromeperf.appspot.com](chromeperf.appspot.com). |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 67 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 68 | ## Google-internal Info |
Dominic Mazzoni | b11c82d | 2018-08-29 17:01:58 | [diff] [blame] | 69 | |
Aran Gilman | 9f5df0d | 2019-04-22 15:47:09 | [diff] [blame] | 70 | More information on analytics and performance, including some additional |
| 71 | Google-internal resources, can be found at |
| 72 | [go/chrome-a11y/resources/analytics-performance](http://go/chrome-a11y/resources/analytics-performance). |