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 re | 5 import re |
6 | 6 |
7 from core import perf_benchmark | 7 from core import perf_benchmark |
8 from telemetry import benchmark | 8 from telemetry import benchmark |
9 from telemetry.timeline import chrome_trace_category_filter | 9 from telemetry.timeline import chrome_trace_category_filter |
| 10 from telemetry.timeline import chrome_trace_config |
10 from telemetry.web_perf import timeline_based_measurement | 11 from telemetry.web_perf import timeline_based_measurement |
11 import page_sets | 12 import page_sets |
12 | 13 |
13 | 14 |
14 # See tr.v.Numeric.getSummarizedScalarNumericsWithNames() | 15 # See tr.v.Numeric.getSummarizedScalarNumericsWithNames() |
15 # https://github.com/catapult-project/catapult/blob/master/tracing/tracing/value
/numeric.html#L323 | 16 # https://github.com/catapult-project/catapult/blob/master/tracing/tracing/value
/numeric.html#L323 |
16 _IGNORED_STATS_RE = re.compile(r'_(std|count|max|min|sum|pct_\d{4}(_\d+)?)$') | 17 _IGNORED_STATS_RE = re.compile(r'_(std|count|max|min|sum|pct_\d{4}(_\d+)?)$') |
17 | 18 |
18 | 19 |
19 class _CommonSystemHealthBenchmark(perf_benchmark.PerfBenchmark): | 20 class _CommonSystemHealthBenchmark(perf_benchmark.PerfBenchmark): |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 class _MemorySystemHealthBenchmark(perf_benchmark.PerfBenchmark): | 79 class _MemorySystemHealthBenchmark(perf_benchmark.PerfBenchmark): |
79 """Chrome Memory System Health Benchmark. | 80 """Chrome Memory System Health Benchmark. |
80 | 81 |
81 This test suite is run separately from the common one due to the high overhead | 82 This test suite is run separately from the common one due to the high overhead |
82 of memory tracing. | 83 of memory tracing. |
83 | 84 |
84 https://goo.gl/Jek2NL. | 85 https://goo.gl/Jek2NL. |
85 """ | 86 """ |
86 options = {'pageset_repeat': 3} | 87 options = {'pageset_repeat': 3} |
87 | 88 |
88 def SetExtraBrowserOptions(self, options): | |
89 options.AppendExtraBrowserArgs([ | |
90 # TODO(perezju): Temporary workaround to disable periodic memory dumps. | |
91 # See: http://crbug.com/513692 | |
92 '--enable-memory-benchmarking', | |
93 ]) | |
94 | |
95 def CreateTimelineBasedMeasurementOptions(self): | 89 def CreateTimelineBasedMeasurementOptions(self): |
96 options = timeline_based_measurement.Options( | 90 options = timeline_based_measurement.Options( |
97 chrome_trace_category_filter.ChromeTraceCategoryFilter( | 91 chrome_trace_category_filter.ChromeTraceCategoryFilter( |
98 '-*,disabled-by-default-memory-infra')) | 92 '-*,disabled-by-default-memory-infra')) |
99 options.config.enable_android_graphics_memtrack = True | 93 options.config.enable_android_graphics_memtrack = True |
100 options.SetTimelineBasedMetrics(['memoryMetric']) | 94 options.SetTimelineBasedMetrics(['memoryMetric']) |
| 95 # Setting an empty memory dump config disables periodic dumps. |
| 96 options.config.chrome_trace_config.SetMemoryDumpConfig( |
| 97 chrome_trace_config.MemoryDumpConfig()) |
101 return options | 98 return options |
102 | 99 |
103 def CreateStorySet(self, options): | 100 def CreateStorySet(self, options): |
104 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, | 101 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, |
105 take_memory_measurement=True) | 102 take_memory_measurement=True) |
106 | 103 |
107 @classmethod | 104 @classmethod |
108 def ShouldTearDownStateAfterEachStoryRun(cls): | 105 def ShouldTearDownStateAfterEachStoryRun(cls): |
109 return True | 106 return True |
110 | 107 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 and load a blank page with multiprocess enabled. | 181 and load a blank page with multiprocess enabled. |
185 """ | 182 """ |
186 | 183 |
187 def SetExtraBrowserOptions(self, options): | 184 def SetExtraBrowserOptions(self, options): |
188 options.AppendExtraBrowserArgs( | 185 options.AppendExtraBrowserArgs( |
189 ['--webview-sandboxed-renderer']) | 186 ['--webview-sandboxed-renderer']) |
190 | 187 |
191 @classmethod | 188 @classmethod |
192 def Name(cls): | 189 def Name(cls): |
193 return 'system_health.webview_startup_multiprocess' | 190 return 'system_health.webview_startup_multiprocess' |
OLD | NEW |