| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from core import perf_benchmark |
| |
| from measurements import power |
| import page_sets |
| from telemetry import benchmark |
| from telemetry import story |
| from telemetry.timeline import chrome_trace_category_filter |
| from telemetry.web_perf import timeline_based_measurement |
| |
| |
| @benchmark.Info(emails=['perezju@chromium.org'], |
| documentation_url='https://bit.ly/power-benchmarks') |
| class PowerTypical10Mobile(perf_benchmark.PerfBenchmark): |
| """Android typical 10 mobile power test.""" |
| test = power.Power |
| page_set = page_sets.Typical10MobilePageSet |
| SUPPORTED_PLATFORMS = [story.expectations.ALL_MOBILE] |
| |
| def SetExtraBrowserOptions(self, options): |
| options.full_performance_mode = False |
| |
| @classmethod |
| def Name(cls): |
| return 'power.typical_10_mobile' |
| |
| |
| @benchmark.Info(emails=['brucedawson@chromium.org'], |
| documentation_url='https://bit.ly/power-benchmarks') |
| class PowerDesktop(perf_benchmark.PerfBenchmark): |
| SUPPORTED_PLATFORMS = [story.expectations.ALL_DESKTOP] |
| |
| def CreateStorySet(self, options): |
| return page_sets.DesktopPowerStorySet() |
| |
| def CreateCoreTimelineBasedMeasurementOptions(self): |
| category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( |
| filter_string='toplevel') |
| options = timeline_based_measurement.Options(category_filter) |
| options.config.enable_chrome_trace = True |
| options.config.enable_cpu_trace = True |
| options.SetTimelineBasedMetrics(['cpuTimeMetric']) |
| return options |
| |
| @classmethod |
| def Name(cls): |
| return 'power.desktop' |