tree: 895d8809f83ae3a7bb29fae39554ead90e5d1f87 [path history] [tgz]
  1. benchmarks/
  2. chrome_telemetry_build/
  3. clear_system_cache/
  4. cli_tools/
  5. contrib/
  6. core/
  7. examples/
  8. experimental/
  9. measurements/
  10. metrics/
  11. page_sets/
  12. testdata/
  13. .gitignore
  14. benchmark.csv
  15. benchmark_schedules.csv
  16. bootstrap_deps
  17. BUILD.gn
  18. cycletime_contributions.csv
  19. diagnose_test_failure
  20. expectations.config
  21. export_csv
  22. fetch_benchmark_deps.py
  23. fetch_benchmark_deps_unittest.py
  24. find_dependencies
  25. flakiness_cli
  26. generate_legacy_perf_dashboard_json.py
  27. generate_legacy_perf_dashboard_json_unittest.py
  28. generate_perf_data
  29. generate_perf_sharding.py
  30. list_affected_benchmarks
  31. list_benchmarks
  32. OWNERS
  33. pinboard
  34. pinpoint_cli
  35. PRESUBMIT.py
  36. process_perf_results.py
  37. process_perf_results_unittest.py
  38. pylintrc
  39. README.md
  40. record_wpr
  41. results_processor
  42. run_benchmark
  43. run_gtest_benchmark.py
  44. run_rendering_benchmark_with_gated_performance_unittest.py
  45. run_telemetry_tests
  46. run_tests
  47. scripts_smoke_unittest.py
  48. soundwave
  49. system_health_stories.csv
  50. update_wpr
  51. validate_perf_json_config
  52. validate_story_expectation_data
  53. validate_wpr_archives
tools/perf/README.md

Performance tools

This directory contains a variety of command line tools that can be used to run benchmarks, interact with speed services, and manage performance waterfall configurations. It also has commands for running functional unittests.

Note you can also read the higher level Chrome Speed documentation to learn more about the team organization and, in particular, the top level view of How Chrome Measures Performance.

run_tests

This command allows you to run functional tests against the python code in this directory. For example, try:

./run_tests results_dashboard_unittest

Note that the positional argument can be any substring within the test name.

This may require you to set up your gsutil config first.

run_benchmark

This command allows running benchmarks defined in the chromium repository, specifically in tools/perf/benchmarks. If you need it, documentation is available on how to run benchmarks locally and how to properly set up your device.

update_wpr

A helper script to automate various tasks related to the update of Web Page Recordings for our benchmarks. In can help creating new recordings from live websites, replay those to make sure they work, upload them to cloud storage, and finally send a CL to review with the new recordings.

pinpoint_cli

A command line interface to the pinpoint service. Allows to create new jobs, check the status of jobs, and fetch their measurements as csv files.

flakiness_cli

A command line interface to the flakiness dashboard.

soundwave

Allows to fetch data from the Chrome Performance Dashboard and stores it locally on a SQLite database for further analysis and processing. It also allows defining studies, pre-sets of measurements a team is interested in tracking, and uploads them to cloud storage to visualize with the help of Data Studio. This currently backs the v8 and health dashboards.

pinboard

Allows scheduling daily pinpoint jobs to compare measurements with/without a patch being applied. This is useful for teams developing a new feature behind a flag, who wants to track the effects on performance as the development of their feature progresses. Processed data for relevant measurements is uploaded to cloud storage, where it can be read by Data Studio. This also backs data displayed on the v8 dashboard.