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

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: fix archive_data_path from None to empty string 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
« no previous file with comments | « tools/perf/benchmark.csv ('k') | tools/perf/page_sets/idle_platform.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 measurements import power 7 from measurements import power
8 import page_sets 8 import page_sets
9 from telemetry import benchmark 9 from telemetry import benchmark
10 from telemetry.timeline import chrome_trace_category_filter
11 from telemetry.web_perf import timeline_based_measurement
10 12
11 13
12 @benchmark.Enabled('android') 14 @benchmark.Enabled('android')
13 @benchmark.Owner(emails=['perezju@chromium.org']) 15 @benchmark.Owner(emails=['perezju@chromium.org'])
14 class PowerAndroidAcceptance(perf_benchmark.PerfBenchmark): 16 class PowerAndroidAcceptance(perf_benchmark.PerfBenchmark):
15 """Android power acceptance test.""" 17 """Android power acceptance test."""
16 test = power.Power 18 test = power.Power
17 page_set = page_sets.AndroidAcceptancePageSet 19 page_set = page_sets.AndroidAcceptancePageSet
18 20
19 def SetExtraBrowserOptions(self, options): 21 def SetExtraBrowserOptions(self, options):
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 @benchmark.Owner(emails=['erikchen@chromium.org']) 142 @benchmark.Owner(emails=['erikchen@chromium.org'])
141 class PowerScrollingTrivialPage(perf_benchmark.PerfBenchmark): 143 class PowerScrollingTrivialPage(perf_benchmark.PerfBenchmark):
142 """Measure power consumption for some very simple pages.""" 144 """Measure power consumption for some very simple pages."""
143 test = power.QuiescentPower 145 test = power.QuiescentPower
144 page_set = page_sets.TrivialSitesStorySet 146 page_set = page_sets.TrivialSitesStorySet
145 147
146 @classmethod 148 @classmethod
147 def Name(cls): 149 def Name(cls):
148 return 'power.trivial_pages' 150 return 'power.trivial_pages'
149 151
152
150 @benchmark.Enabled('mac') 153 @benchmark.Enabled('mac')
151 class PowerSteadyStatePages(perf_benchmark.PerfBenchmark): 154 class PowerSteadyStatePages(perf_benchmark.PerfBenchmark):
152 """Measure power consumption for real web sites in steady state (no user 155 """Measure power consumption for real web sites in steady state (no user
153 interactions).""" 156 interactions)."""
154 test = power.QuiescentPower 157 test = power.QuiescentPower
155 page_set = page_sets.IdleAfterLoadingStories 158 page_set = page_sets.IdleAfterLoadingStories
156 159
157 @classmethod 160 @classmethod
158 def Name(cls): 161 def Name(cls):
159 return 'power.steady_state' 162 return 'power.steady_state'
163
164
165 class IdlePlatformBenchmark(perf_benchmark.PerfBenchmark):
166 """Idle platform benchmark.
167
168 This benchmark just starts up tracing agents and lets the platform sit idle.
169 Our power benchmarks are prone to noise caused by other things running on the
170 system. This benchmark is intended to help find the sources of noise.
171 """
172 def CreateTimelineBasedMeasurementOptions(self):
173 options = timeline_based_measurement.Options(
174 chrome_trace_category_filter.ChromeTraceCategoryFilter())
175 # Enable CPU tracing when the bug is resolved.
176 # https://github.com/catapult-project/catapult/issues/3463
177 options.config.enable_battor_trace = True
178 # Atrace tracing agent autodetects if its android and only runs if it is.
179 options.config.enable_atrace_trace = True
180 options.config.enable_chrome_trace = False
181 options.SetTimelineBasedMetrics([
182 'clockSyncLatencyMetric',
183 'powerMetric',
184 'tracingMetric'
185 ])
186 return options
187
188 @classmethod
189 def ShouldDisable(cls, possible_browser):
190 return not possible_browser.platform.HasBattOrConnected()
191
192 def CreateStorySet(self, options):
193 return page_sets.IdleStorySet()
194
195 @classmethod
196 def ShouldTearDownStateAfterEachStoryRun(cls):
197 return True
198
199 @classmethod
200 def Name(cls):
201 return 'power.idle_platform'
OLDNEW
« no previous file with comments | « tools/perf/benchmark.csv ('k') | tools/perf/page_sets/idle_platform.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698