Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 import os | |
| 6 | |
| 5 from core import perf_benchmark | 7 from core import perf_benchmark |
| 6 from telemetry.timeline import chrome_trace_category_filter | 8 from telemetry.timeline import chrome_trace_category_filter |
| 7 from telemetry.web_perf import timeline_based_measurement | 9 from telemetry.web_perf import timeline_based_measurement |
| 8 import page_sets | 10 import page_sets |
| 9 from telemetry import benchmark | 11 from telemetry import benchmark |
| 10 | 12 |
| 11 | 13 |
| 12 # TODO(rnephew): Remove BattOr naming from all benchmarks once the BattOr tests | 14 # TODO(rnephew): Remove BattOr naming from all benchmarks once the BattOr tests |
| 13 # are the primary means of benchmarking power. | 15 # are the primary means of benchmarking power. |
| 14 class _BattOrBenchmark(perf_benchmark.PerfBenchmark): | 16 class _BattOrBenchmark(perf_benchmark.PerfBenchmark): |
| 15 | 17 |
| 16 def CreateTimelineBasedMeasurementOptions(self): | 18 def CreateTimelineBasedMeasurementOptions(self): |
| 17 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( | 19 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( |
| 18 filter_string='toplevel') | 20 filter_string='toplevel') |
| 19 options = timeline_based_measurement.Options(category_filter) | 21 options = timeline_based_measurement.Options(category_filter) |
| 20 options.config.chrome_trace_config.category_filter.AddFilterString('rail') | 22 options.config.chrome_trace_config.category_filter.AddFilterString('rail') |
| 21 # TODO(charliea): Reenable the CPU tracing agent once it no longer causes | 23 # TODO(charliea): Reenable the CPU tracing agent once it no longer causes |
| 22 # indefinite hangs on Windows. | 24 # indefinite hangs on Windows. |
| 23 # https://crbug.com/647443 | 25 # https://crbug.com/647443 |
| 24 options.config.enable_battor_trace = True | 26 # TODO(charliea): Reenable BattOr tracing on the main perf waterfall once |
| 27 # the BattOrs stop crashing as their SD cards fill up. | |
| 28 # crbug.com/652384 | |
| 29 options.config.enable_battor_trace = ( | |
| 30 os.environ['BUILDBOT_MASTERNAME'] == 'chromium.perf.fyi') | |
|
nednguyen
2016/10/11 14:08:34
you need to use os.environ.get(''BUILDBOT_MASTERNA
| |
| 25 options.config.enable_chrome_trace = True | 31 options.config.enable_chrome_trace = True |
| 26 options.config.enable_atrace_trace = True | 32 options.config.enable_atrace_trace = True |
| 27 options.config.atrace_config.categories = ['sched'] | 33 options.config.atrace_config.categories = ['sched'] |
| 28 options.SetTimelineBasedMetrics( | 34 options.SetTimelineBasedMetrics( |
| 29 ['powerMetric', 'clockSyncLatencyMetric', 'cpuTimeMetric']) | 35 ['powerMetric', 'clockSyncLatencyMetric', 'cpuTimeMetric']) |
| 30 return options | 36 return options |
| 31 | 37 |
| 32 @classmethod | 38 @classmethod |
| 33 def ShouldDisable(cls, possible_browser): | 39 def ShouldDisable(cls, possible_browser): |
| 34 # Only run if BattOr is detected. | 40 # Only run if BattOr is detected. |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 107 def Name(cls): | 113 def Name(cls): |
| 108 return 'battor.power_cases' | 114 return 'battor.power_cases' |
| 109 | 115 |
| 110 | 116 |
| 111 @benchmark.Disabled('all') # crbug.com/651384. | 117 @benchmark.Disabled('all') # crbug.com/651384. |
| 112 class BattOrPowerCasesNoChromeTrace(_BattOrBenchmark): | 118 class BattOrPowerCasesNoChromeTrace(_BattOrBenchmark): |
| 113 page_set = page_sets.power_cases.PowerCasesPageSet | 119 page_set = page_sets.power_cases.PowerCasesPageSet |
| 114 | 120 |
| 115 def CreateTimelineBasedMeasurementOptions(self): | 121 def CreateTimelineBasedMeasurementOptions(self): |
| 116 options = timeline_based_measurement.Options() | 122 options = timeline_based_measurement.Options() |
| 117 options.config.enable_battor_trace = True | 123 # TODO(charliea): Reenable BattOr tracing on the main perf waterfall once |
| 124 # the BattOrs stop crashing as their SD cards fill up. | |
| 125 # crbug.com/652384 | |
| 126 options.config.enable_battor_trace = ( | |
| 127 os.environ['BUILDBOT_MASTERNAME'] == 'chromium.perf.fyi') | |
| 118 options.config.enable_chrome_trace = False | 128 options.config.enable_chrome_trace = False |
| 119 options.config.chrome_trace_config.SetDefaultOverheadFilter() | 129 options.config.chrome_trace_config.SetDefaultOverheadFilter() |
| 120 options.SetTimelineBasedMetrics(['powerMetric', 'clockSyncLatencyMetric']) | 130 options.SetTimelineBasedMetrics(['powerMetric', 'clockSyncLatencyMetric']) |
| 121 return options | 131 return options |
| 122 | 132 |
| 123 @classmethod | 133 @classmethod |
| 124 def Name(cls): | 134 def Name(cls): |
| 125 return 'battor.power_cases_no_chrome_trace' | 135 return 'battor.power_cases_no_chrome_trace' |
| 126 | 136 |
| 127 | 137 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 139 @benchmark.Enabled('mac') | 149 @benchmark.Enabled('mac') |
| 140 class BattOrSteadyStatePages(_BattOrBenchmark): | 150 class BattOrSteadyStatePages(_BattOrBenchmark): |
| 141 | 151 |
| 142 def CreateStorySet(self, options): | 152 def CreateStorySet(self, options): |
| 143 # We want it to wait for 30 seconds to be comparable to legacy power tests. | 153 # We want it to wait for 30 seconds to be comparable to legacy power tests. |
| 144 return page_sets.IdleAfterLoadingStories(wait_in_seconds=30) | 154 return page_sets.IdleAfterLoadingStories(wait_in_seconds=30) |
| 145 | 155 |
| 146 @classmethod | 156 @classmethod |
| 147 def Name(cls): | 157 def Name(cls): |
| 148 return 'battor.steady_state' | 158 return 'battor.steady_state' |
| OLD | NEW |