Telemetry is Chrome's performance testing framework. It allows you to perform arbitrary actions on a set of web pages and report metrics about it. The framework abstracts:
It depends, what are you trying to measure? Are you trying to verify correctness? If yes, Telemetry is not for you, but browser tests are your friend.
Telemetry is designed for performance tests that:
Telemetry is a Python wrapper around Chrome's DevTools Remote Debugging Protocol.
Telemetry has an opinionated definition of a benchmark. A benchmark is a wrapper that encapsulates a measurement, a page set, and a set of optional browser options. You can run a benchmark with a short, simple command, and the test configuration is baked into the benchmark to ensure its consistency across machines.
A measurement (called PageTest in the code) is "something that can be run on a page." Given a page, a measurement evaluates the page’s performance. It can report many results, including numbers, histograms, traces, or pass/fail.
A page set is a collection of URLs, which can be live sites, WebPageReplay archives, or local HTML files. Pages also have actions associated with them, such as clicking a button, scrolling the page, or performing a swipe gesture.
If you have questions, please email firstname.lastname@example.org.
You can keep up with Telemetry related discussions and code reviews by joining the telemetry group.
To visit a URL, all you need to do is add the URL to a page set. For more information on maintaining page sets, see managing page sets.
The recordings are not included in the Chromium source tree. If you are a Google partner, run gsutil config to authenticate, then try running the test again. If you don't have gsutil installed on your machine, you can find it in src/tools/telemetry/third_party/gsutil/gsutil.
If you are not a Google partner, you can run on live sites with --use-live-sites or record your own page set archive.
I get mysterious errors about device_forwarder failing?
Your forwarder binary may be outdated. If you have built the forwarder in src/out that one will be used; if there isn't anything there Telemetry will default to downloading a pre-built binary. Try re-building the forwarder, or alternatively wiping the contents of src/out/ and running run_benchmark, which should download the latest binary.
I'm having problems with keychain prompts on Mac. Please help?
Make sure that your keychain is correctly configured.