If you don‘t have a Chromium checkout, download the latest Telemetry archive. Unzip the archive. If you’re running on Mac OS X, you're all set! For Windows, Linux, Android, or Chrome OS, read on.
Some benchmarks require you to have pywin32. Be sure to install a version that matches the version and bitness of the Python you have installed.
Telemetry on Linux tries to scan for attached Android devices with adb. The included adb binary is 32-bit. On 64-bit machines, you need to install the libstdc++6:i386 package.
Running on Android is supported with a Linux or Mac OS X host. Windows is not yet supported. There are also a few additional steps to set up:
adb devices
and use it with Telemetry via --device=<device_name>.See Running Telemetry on Chrome OS.
Telemetry benchmarks can be run with run_benchmark.
In the Telemetry zip archive, this is located at telemetry/run_benchmark
.
In the Chromium source tree, this is located at src/tools/perf/run_benchmark
.
List the available benchmarks with telemetry/run_benchmark list
.
Here's an example for running a particular benchmark:
telemetry/run_benchmark --browser=canary smoothness.top_25_smooth
To list available browsers, use:
telemetry/run_benchmark --browser=list
If you‘re running telemetry from within a Chromium checkout, the release and debug browsers are what’s built in out/Release and out/Debug, respectively. If you are trying to run on Android, you should see an entry similar to android-jb-system-chrome in this list. If it's not there, the device is not set up correctly.
To run a specific browser executable:
telemetry/run_benchmark --browser=exact --browser-executable=/path/to/binary
To run on a Chromebook:
telemetry/run_benchmark --browser=cros-chrome --remote=[ip_address]
To see all options, run:
telemetry/run_benchmark run --help
Use --pageset-repeat to run the test repeatedly. For example:
telemetry/run_benchmark smoothness.top_25 --pageset-repeat=30
If you want to re-generate HTML results and add label, you can do this locally by using the parameters --reset-results --results-label="foo"
telemetry/run_benchmark smoothness.top_25 --reset-results --results-label="foo"
####Comparing Two Runs
telemetry/run_benchmark some_test --browser-executable=path/to/version/1 --reset-results --results-label="Version 1"
telemetry/run_benchmark some_test --browser-executable=path/to/version/2 --results-label="Version 2"
The results will be written to in the results.html
file in the same location of the run_benchmark
script.