Chromium Code Reviews| Index: tools/perf/benchmarks/power.py |
| diff --git a/tools/perf/benchmarks/power.py b/tools/perf/benchmarks/power.py |
| index bf8f291eb2ee47a78ef776f0946f05956e38c05f..e3595aa0ff27b8b0695214113e71f51da154669a 100644 |
| --- a/tools/perf/benchmarks/power.py |
| +++ b/tools/perf/benchmarks/power.py |
| @@ -8,6 +8,8 @@ from benchmarks import silk_flags |
| from measurements import power |
| import page_sets |
| from telemetry import benchmark |
| +from telemetry.timeline import chrome_trace_category_filter |
| +from telemetry.web_perf import timeline_based_measurement |
| @benchmark.Enabled('android') |
| @@ -209,6 +211,7 @@ class PowerScrollingTrivialPage(perf_benchmark.PerfBenchmark): |
| def Name(cls): |
| return 'power.trivial_pages' |
| + |
| @benchmark.Enabled('mac') |
| class PowerSteadyStatePages(perf_benchmark.PerfBenchmark): |
| """Measure power consumption for real web sites in steady state (no user |
| @@ -219,3 +222,38 @@ class PowerSteadyStatePages(perf_benchmark.PerfBenchmark): |
| @classmethod |
| def Name(cls): |
| return 'power.steady_state' |
| + |
| + |
| +class IdlePlatformBenchmark(perf_benchmark.PerfBenchmark): |
| + """Idle platform benchmark. |
| + |
| + This benchmark just starts up tracing agents and lets the platform sit idle. |
| + Our power benchmarks are prone to noise caused by other things running on the |
| + system. This benchmark is intended to help find the sources of noise. |
| + """ |
| + def CreateTimelineBasedMeasurementOptions(self): |
| + options = timeline_based_measurement.Options( |
| + chrome_trace_category_filter.ChromeTraceCategoryFilter()) |
| + # Enable CPU tracing when the bug is resolved. |
| + # https://github.com/catapult-project/catapult/issues/3463 |
| + options.config.enable_battor_trace = True |
| + # Atrace tracing agent autodetects if its android and only runs if it is. |
| + options.config.enable_atrace_trace = True |
| + options.config.enable_chrome_trace = False |
| + options.SetTimelineBasedMetrics([ |
| + 'clockSyncLatencyMetric', |
| + 'powerMetric', |
| + 'tracingMetric' |
| + ]) |
| + return options |
| + |
| + def CreateStorySet(self, options): |
| + return page_sets.IdleStorySet() |
| + |
| + @classmethod |
| + def ShouldTearDownStateAfterEachStoryRun(cls): |
| + return True |
| + |
|
rnephew (Reviews Here)
2017/03/30 21:55:34
Should I add this to the benchmark, or just let it
nednguyen
2017/03/30 22:01:40
Not really. We don't have any metric for atrace on
rnephew (Reviews Here)
2017/04/03 16:25:35
Ok, since there is no atrace only metrics I went a
|
| + @classmethod |
| + def Name(cls): |
| + return 'power.idle_platform' |