| 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 tracing_category_filter | 9 from telemetry.timeline import tracing_category_filter |
| 10 from telemetry.web_perf import timeline_based_measurement | 10 from telemetry.web_perf import timeline_based_measurement |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 return 'system_health.key_mobile_sites' | 57 return 'system_health.key_mobile_sites' |
| 58 | 58 |
| 59 | 59 |
| 60 class _MemorySystemHealthBenchmark(perf_benchmark.PerfBenchmark): | 60 class _MemorySystemHealthBenchmark(perf_benchmark.PerfBenchmark): |
| 61 """Chrome Memory System Health Benchmark. | 61 """Chrome Memory System Health Benchmark. |
| 62 | 62 |
| 63 https://goo.gl/Jek2NL. | 63 https://goo.gl/Jek2NL. |
| 64 """ | 64 """ |
| 65 | 65 |
| 66 def SetExtraBrowserOptions(self, options): | 66 def SetExtraBrowserOptions(self, options): |
| 67 # TODO(petrcermak): Remove this and switch to log-on-retry | |
| 68 # (http://crbug.com/623058). | |
| 69 options.logging_verbosity = options.NON_VERBOSE_LOGGING | |
| 70 options.AppendExtraBrowserArgs([ | 67 options.AppendExtraBrowserArgs([ |
| 71 # TODO(perezju): Temporary workaround to disable periodic memory dumps. | 68 # TODO(perezju): Temporary workaround to disable periodic memory dumps. |
| 72 # See: http://crbug.com/513692 | 69 # See: http://crbug.com/513692 |
| 73 '--enable-memory-benchmarking', | 70 '--enable-memory-benchmarking', |
| 74 ]) | 71 ]) |
| 75 | 72 |
| 76 def CreateTimelineBasedMeasurementOptions(self): | 73 def CreateTimelineBasedMeasurementOptions(self): |
| 77 options = timeline_based_measurement.Options( | 74 options = timeline_based_measurement.Options( |
| 78 tracing_category_filter.TracingCategoryFilter( | 75 tracing_category_filter.TracingCategoryFilter( |
| 79 '-*,disabled-by-default-memory-infra')) | 76 '-*,disabled-by-default-memory-infra')) |
| (...skipping 25 matching lines...) Expand all Loading... |
| 105 """Mobile Chrome Memory System Health Benchmark.""" | 102 """Mobile Chrome Memory System Health Benchmark.""" |
| 106 page_set = page_sets.MobileMemorySystemHealthStorySet | 103 page_set = page_sets.MobileMemorySystemHealthStorySet |
| 107 | 104 |
| 108 @classmethod | 105 @classmethod |
| 109 def ShouldDisable(cls, possible_browser): | 106 def ShouldDisable(cls, possible_browser): |
| 110 # http://crbug.com/612144 (reference on Nexus 5X). | 107 # http://crbug.com/612144 (reference on Nexus 5X). |
| 111 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' or ( | 108 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' or ( |
| 112 possible_browser.browser_type == 'reference' and | 109 possible_browser.browser_type == 'reference' and |
| 113 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 110 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| 114 | 111 |
| 115 | |
| 116 @benchmark.Enabled('android-webview') | 112 @benchmark.Enabled('android-webview') |
| 117 class WebviewStartupSystemHealthBenchmark(perf_benchmark.PerfBenchmark): | 113 class WebviewStartupSystemHealthBenchmark(perf_benchmark.PerfBenchmark): |
| 118 """Webview startup time benchmark | 114 """Webview startup time benchmark |
| 119 | 115 |
| 120 Benchmark that measures how long WebView takes to start up | 116 Benchmark that measures how long WebView takes to start up |
| 121 and load a blank page. Since thie metric only requires the trace | 117 and load a blank page. Since thie metric only requires the trace |
| 122 markers recorded in atrace, Chrome tracing is not enabled for this | 118 markers recorded in atrace, Chrome tracing is not enabled for this |
| 123 benchmark. | 119 benchmark. |
| 124 """ | 120 """ |
| 125 page_set = page_sets.BlankPageSet | 121 page_set = page_sets.BlankPageSet |
| 126 | 122 |
| 127 def CreateTimelineBasedMeasurementOptions(self): | 123 def CreateTimelineBasedMeasurementOptions(self): |
| 128 options = timeline_based_measurement.Options() | 124 options = timeline_based_measurement.Options() |
| 129 options.SetTimelineBasedMetric('webviewStartupMetric') | 125 options.SetTimelineBasedMetric('webviewStartupMetric') |
| 130 options.config.enable_atrace_trace = True | 126 options.config.enable_atrace_trace = True |
| 131 options.config.enable_chrome_trace = False | 127 options.config.enable_chrome_trace = False |
| 132 options.config.atrace_config.app_name = 'org.chromium.webview_shell' | 128 options.config.atrace_config.app_name = 'org.chromium.webview_shell' |
| 133 return options | 129 return options |
| 134 | 130 |
| 135 @classmethod | 131 @classmethod |
| 136 def ShouldTearDownStateAfterEachStoryRun(cls): | 132 def ShouldTearDownStateAfterEachStoryRun(cls): |
| 137 return True | 133 return True |
| 138 | 134 |
| 139 @classmethod | 135 @classmethod |
| 140 def Name(cls): | 136 def Name(cls): |
| 141 return 'system_health.webview_startup' | 137 return 'system_health.webview_startup' |
| OLD | NEW |