commit | 79e599c5a00228b4209894b7878add62d7053545 | [log] [tgz] |
---|---|---|
author | Camillo Bruni <cbruni@chromium.org> | Wed Sep 21 09:34:50 2022 |
committer | Camillo Bruni <cbruni@chromium.org> | Wed Sep 21 09:34:50 2022 |
tree | 5f52d6dfa3cf873b816fe0fa56448148d76541d3 | |
parent | 95391f84b5bb57ce109b11d190b81d2d06ed21c7 [diff] |
[probes] Add more typing information to probes - Annotate more function params with types - Conditionally import crossbench in probes only for type checking Drive-by-fix: - fix mock browser setup Change-Id: Iaf81b71afd6c19e257be9afc4660753c42dcac93 Reviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/3902051 Reviewed-by: Alexander Schulze <alexschulze@chromium.org>
Crossbench is a cross-browser/cross-benchmark runner to extract performance numbers.
This project uses poetry deps and package scripts to setup the correct environment for testing and debugging.
pip3 install poetry
Example usage:
poetry run crossbench speedometer_2.0 \ --browser=/path/to/chromium \ --stories=VanillaJS.* \ --probe=profiling \ --probe=v8.log
Describe all subcommands with stories and all probes:
poetry run crossbench describe
Browsers : Interface to start, interact and stop browsers. The main implementions use selenium for maximum system independence.
Probes : Probes define a way to extract arbitrary (performance) numbers from a host or running browser. This can reach from running simple JS-snippets to extract page-specific numbers to system-wide profiling.
Stories : Stories define sequences of browser interactions. This can be simply loading a URL and waiting for a given period of time, or in more complex scenarios, actively interact with a page and navigate multiple times.