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 """The page cycler v2. | 5 """The page cycler v2. |
| 6 | 6 |
| 7 For details, see design doc: | 7 For details, see design doc: |
| 8 https://docs.google.com/document/d/1EZQX-x3eEphXupiX-Hq7T4Afju5_sIdxPWYetj7ynd0 | 8 https://docs.google.com/document/d/1EZQX-x3eEphXupiX-Hq7T4Afju5_sIdxPWYetj7ynd0 |
| 9 """ | 9 """ |
| 10 | 10 |
| 11 from core import perf_benchmark | 11 from core import perf_benchmark |
| 12 import page_sets | 12 import page_sets |
| 13 | 13 |
| 14 from telemetry import benchmark | 14 from telemetry import benchmark |
| 15 from telemetry.page import cache_temperature | 15 from telemetry.page import cache_temperature |
| 16 from telemetry.timeline import chrome_trace_category_filter | 16 from telemetry.timeline import chrome_trace_category_filter |
| 17 from telemetry.web_perf import timeline_based_measurement | 17 from telemetry.web_perf import timeline_based_measurement |
| 18 | 18 |
| 19 | 19 |
| 20 class _PageCyclerV2(perf_benchmark.PerfBenchmark): | 20 class _PageCyclerV2(perf_benchmark.PerfBenchmark): |
| 21 options = {'pageset_repeat': 2} | 21 options = {'pageset_repeat': 2} |
| 22 | 22 |
| 23 def CreateTimelineBasedMeasurementOptions(self): | 23 def CreateTimelineBasedMeasurementOptions(self): |
| 24 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( | 24 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter() |
| 25 filter_string='blink.console,navigation,blink.user_timing,loading') | 25 |
| 26 # "blink.console" is used for marking ranges in | |
| 27 # cache_temperature.MarkTelemetryInternal. | |
| 28 cat_filter.AddIncludedCategory('blink.console') | |
| 29 | |
| 30 # "navigation" and "blink.user_timing" are needed to capture core | |
|
petrcermak
2016/08/25 09:25:42
nit: remove extra space before "needed".
kouhei (in TOK)
2016/08/25 09:53:18
Done.
| |
| 31 # navigation events. | |
| 32 cat_filter.AddIncludedCategory('navigation') | |
| 33 cat_filter.AddIncludedCategory('blink.user_timing') | |
| 26 | 34 |
| 27 # Below categories are needed for first-meaningful-paint computation. | 35 # Below categories are needed for first-meaningful-paint computation. |
| 28 cat_filter.AddDisabledByDefault('disabled-by-default-blink.debug.layout') | 36 cat_filter.AddDisabledByDefault('disabled-by-default-blink.debug.layout') |
| 29 cat_filter.AddIncludedCategory('devtools.timeline') | 37 cat_filter.AddIncludedCategory('devtools.timeline') |
| 38 cat_filter.AddIncludedCategory('loading') | |
| 39 | |
| 40 # "toplevel" category is used to capture TaskQueueManager events | |
| 41 # necessary to compute time-to-interactive. | |
| 42 cat_filter.AddIncludedCategory('toplevel') | |
| 30 | 43 |
| 31 tbm_options = timeline_based_measurement.Options( | 44 tbm_options = timeline_based_measurement.Options( |
| 32 overhead_level=cat_filter) | 45 overhead_level=cat_filter) |
| 33 tbm_options.SetTimelineBasedMetrics(['loadingMetric']) | 46 tbm_options.SetTimelineBasedMetrics(['loadingMetric']) |
| 34 return tbm_options | 47 return tbm_options |
| 35 | 48 |
| 36 @classmethod | 49 @classmethod |
| 37 def ShouldDisable(cls, possible_browser): | 50 def ShouldDisable(cls, possible_browser): |
| 38 # crbug.com/619254 | 51 # crbug.com/619254 |
| 39 if possible_browser.browser_type == 'reference': | 52 if possible_browser.browser_type == 'reference': |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 197 set, without running in out-of-process iframes mode.. """ | 210 set, without running in out-of-process iframes mode.. """ |
| 198 page_set = page_sets.OopifBasicPageSet | 211 page_set = page_sets.OopifBasicPageSet |
| 199 | 212 |
| 200 @classmethod | 213 @classmethod |
| 201 def Name(cls): | 214 def Name(cls): |
| 202 return 'page_cycler_v2.basic_oopif' | 215 return 'page_cycler_v2.basic_oopif' |
| 203 | 216 |
| 204 def CreateStorySet(self, options): | 217 def CreateStorySet(self, options): |
| 205 return page_sets.OopifBasicPageSet(cache_temperatures=[ | 218 return page_sets.OopifBasicPageSet(cache_temperatures=[ |
| 206 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) | 219 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM]) |
| OLD | NEW |