The Telemetry power benchmarks measure power indirectly by measuring the CPU time used by Chrome while it performs various tasks (a.k.a. user stories).
cpu_time_percentage_avg
This metric measures the average number of cores that Chrome used over the duration of the trace.
This metric is enabled by adding 'cpuTimeMetric'
to the list of TBM2 metrics in the benchmark's Python class:
options.SetTimelineBasedMetrics(['cpuTimeMetric', 'memoryMetric'])
Additionally, the toplevel
trace category must be enabled for this metric to function correctly because it ensures that a trace span is active whenever Chrome is doing work:
category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter(filter_string='toplevel')
The primary power benchmarks are:
system_health.common_desktop
: A desktop-only benchmark in which each page focuses on a single, common way in which users use Chrome (e.g. browsing Facebook photos, shopping on Amazon, searching Google)system_health.common_mobile
: A mobile-only benchmark that parallels system_health.common_desktop
power.desktop
: A desktop-only benchmark made up of two types of pages:media.desktop
: A desktop-only benchmark in which each page tests a particular media-related scenario (e.g. playing a 1080p, H264 video with sound)media.mobile
: A mobile-only benchmark that parallels media.desktop
This spreadsheet lists the owner for each benchmark.
To add a new test case to a power benchmark, contact the owner of the benchmark above that sounds like the best fit.
See this page for instructions on how to run the benchmarks locally.
Enter the platform, benchmark, and metric you care about on this page to see how the power metrics have moved over time.