Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(695)

Side by Side Diff: tools/perf/benchmarks/power.py

Issue 2744273003: [Telemetry] Add benchmark that doesn't launch chrome and collects platform data. (Closed)
Patch Set: [Telemetry] Add benchmark that doesn't launch chrome and collects platform data. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from core import perf_benchmark 5 from core import perf_benchmark
6 6
7 from benchmarks import silk_flags 7 from benchmarks import silk_flags
8 from measurements import power 8 from measurements import power
9 import page_sets 9 import page_sets
10 from telemetry import benchmark 10 from telemetry import benchmark
11 from telemetry.timeline import chrome_trace_category_filter
12 from telemetry.web_perf import timeline_based_measurement
11 13
12 14
13 @benchmark.Enabled('android') 15 @benchmark.Enabled('android')
14 @benchmark.Owner(emails=['perezju@chromium.org']) 16 @benchmark.Owner(emails=['perezju@chromium.org'])
15 class PowerAndroidAcceptance(perf_benchmark.PerfBenchmark): 17 class PowerAndroidAcceptance(perf_benchmark.PerfBenchmark):
16 """Android power acceptance test.""" 18 """Android power acceptance test."""
17 test = power.Power 19 test = power.Power
18 page_set = page_sets.AndroidAcceptancePageSet 20 page_set = page_sets.AndroidAcceptancePageSet
19 21
20 def SetExtraBrowserOptions(self, options): 22 def SetExtraBrowserOptions(self, options):
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 @benchmark.Owner(emails=['erikchen@chromium.org']) 204 @benchmark.Owner(emails=['erikchen@chromium.org'])
203 class PowerScrollingTrivialPage(perf_benchmark.PerfBenchmark): 205 class PowerScrollingTrivialPage(perf_benchmark.PerfBenchmark):
204 """Measure power consumption for some very simple pages.""" 206 """Measure power consumption for some very simple pages."""
205 test = power.QuiescentPower 207 test = power.QuiescentPower
206 page_set = page_sets.TrivialSitesStorySet 208 page_set = page_sets.TrivialSitesStorySet
207 209
208 @classmethod 210 @classmethod
209 def Name(cls): 211 def Name(cls):
210 return 'power.trivial_pages' 212 return 'power.trivial_pages'
211 213
214
212 @benchmark.Enabled('mac') 215 @benchmark.Enabled('mac')
213 class PowerSteadyStatePages(perf_benchmark.PerfBenchmark): 216 class PowerSteadyStatePages(perf_benchmark.PerfBenchmark):
214 """Measure power consumption for real web sites in steady state (no user 217 """Measure power consumption for real web sites in steady state (no user
215 interactions).""" 218 interactions)."""
216 test = power.QuiescentPower 219 test = power.QuiescentPower
217 page_set = page_sets.IdleAfterLoadingStories 220 page_set = page_sets.IdleAfterLoadingStories
218 221
219 @classmethod 222 @classmethod
220 def Name(cls): 223 def Name(cls):
221 return 'power.steady_state' 224 return 'power.steady_state'
225
226
227 class IdlePlatformBenchmark(perf_benchmark.PerfBenchmark):
228 """Idle platform benchmark.
229
230 This benchmark just starts up tracing agents and lets the platform sit idle.
231 Our power benchmarks are prone to noise caused by other things running on the
232 system. This benchmark is intended to help find the sources of noise.
233 """
234 def CreateTimelineBasedMeasurementOptions(self):
235 options = timeline_based_measurement.Options(
236 chrome_trace_category_filter.ChromeTraceCategoryFilter())
237 # Enable CPU tracing when the bug is resolved.
238 # https://github.com/catapult-project/catapult/issues/3463
239 options.config.enable_battor_trace = True
240 # Atrace tracing agent autodetects if its android and only runs if it is.
241 options.config.enable_atrace_trace = True
242 options.config.enable_chrome_trace = False
243 options.SetTimelineBasedMetrics([
244 'clockSyncLatencyMetric',
245 'powerMetric',
246 'tracingMetric'
247 ])
248 return options
249
250 def CreateStorySet(self, options):
251 return page_sets.IdleStorySet()
252
253 @classmethod
254 def ShouldTearDownStateAfterEachStoryRun(cls):
255 return True
256
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
257 @classmethod
258 def Name(cls):
259 return 'power.idle_platform'
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698