[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