[webkit-changes] [WebKit/WebKit] c6a3a8: Add signposts and profiling support to JetStream2
hysu
noreply at github.com
Fri Dec 9 12:30:17 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c6a3a8988a7f1411cab94e77b52f84363d9486c0
https://github.com/WebKit/WebKit/commit/c6a3a8988a7f1411cab94e77b52f84363d9486c0
Author: Hysu Xiong <hysu at apple.com>
Date: 2022-12-09 (Fri, 09 Dec 2022)
Changed paths:
M Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py
A Tools/Scripts/webkitpy/benchmark_runner/data/patches/signposts/JetStream2.patch
M Tools/Scripts/webkitpy/benchmark_runner/data/plans/jetstream2.1.plan
M Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py
M Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py
M Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py
Log Message:
-----------
Add signposts and profiling support to JetStream2
https://bugs.webkit.org/show_bug.cgi?id=247907
rdar://102328951
Reviewed by Dewei Zhu.
Two things are needed to add profiling support to JetStream:
- Support for subtests, since by default trying to profile JetStream may sometimes result in the profile being cut off before the test finishes due to file size issues.
- Signposting to help label generated profiles
In this patch:
- Added two new fields to plan files in order to allow them to support subtests
- `subtest_url_format`: a string template for formatting subtest URL parameters
- `subtests`: a dictionary of suites and tests in the following form:
{"suite1": ["test1, test2"]}
If a test does not have a suite associated with it, the key is "".
- Added a new argument to run-benchmarks, `--list-subtests`, that prints out available subtests from a specified plan.
- Modified and added helper functions to BenchmarkRunner to support listing and validating subtests.
- Added a new argument to run-benchmarks, `--subtests`, that limits a test with subtest support to only run those subtests.
- Added a new signposting patch to help annotate generated profiles.
* Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
(BenchmarkRunner):
(BenchmarkRunner._find_plan_file):
(BenchmarkRunner._load_plan_data):
(BenchmarkRunner.format_subtests):
(BenchmarkRunner.available_subtests):
(BenchmarkRunner.validate_subtests):
* Tools/Scripts/webkitpy/benchmark_runner/data/patches/signposts/JetStream2.patch: Added.
* Tools/Scripts/webkitpy/benchmark_runner/data/plans/jetstream2.1.plan:
* Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(config_argument_parser):
(run_benchmark_plan):
(list_subtests):
(start):
* Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
(WebDriverBenchmarkRunner._construct_subtest_url):
(WebDriverBenchmarkRunner._run_one_test):
* Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner.__init__):
(WebServerBenchmarkRunner):
Canonical link: https://commits.webkit.org/257642@main
More information about the webkit-changes
mailing list