| 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 from core import perf_benchmark | 5 from core import perf_benchmark |
| 6 | 6 |
| 7 from telemetry import benchmark | 7 from telemetry import benchmark |
| 8 from telemetry.timeline import chrome_trace_category_filter | 8 from telemetry.timeline import chrome_trace_category_filter |
| 9 from telemetry.timeline import chrome_trace_config | 9 from telemetry.timeline import chrome_trace_config |
| 10 from telemetry.web_perf import timeline_based_measurement | 10 from telemetry.web_perf import timeline_based_measurement |
| 11 | 11 |
| 12 import page_sets | 12 import page_sets |
| 13 | 13 |
| 14 | 14 |
| 15 @benchmark.Owner(emails=['oysteine@chromium.org', |
| 16 'nednguyen@chromium.org', |
| 17 'zhenw@chromium.org']) |
| 15 class TracingWithDebugOverhead(perf_benchmark.PerfBenchmark): | 18 class TracingWithDebugOverhead(perf_benchmark.PerfBenchmark): |
| 16 | 19 |
| 17 page_set = page_sets.Top10PageSet | 20 page_set = page_sets.Top10PageSet |
| 18 | 21 |
| 19 def CreateTimelineBasedMeasurementOptions(self): | 22 def CreateTimelineBasedMeasurementOptions(self): |
| 20 options = timeline_based_measurement.Options( | 23 options = timeline_based_measurement.Options( |
| 21 timeline_based_measurement.DEBUG_OVERHEAD_LEVEL) | 24 timeline_based_measurement.DEBUG_OVERHEAD_LEVEL) |
| 22 options.SetTimelineBasedMetrics(['tracingMetric']) | 25 options.SetTimelineBasedMetrics(['tracingMetric']) |
| 23 return options | 26 return options |
| 24 | 27 |
| 25 @classmethod | 28 @classmethod |
| 26 def Name(cls): | 29 def Name(cls): |
| 27 return 'tracing.tracing_with_debug_overhead' | 30 return 'tracing.tracing_with_debug_overhead' |
| 28 | 31 |
| 29 | 32 |
| 30 # TODO(ssid): Enable on reference builds once stable browser starts supporting | 33 # TODO(ssid): Enable on reference builds once stable browser starts supporting |
| 31 # background mode memory-infra. crbug.com/621195. | 34 # background mode memory-infra. crbug.com/621195. |
| 32 @benchmark.Disabled('reference') | 35 @benchmark.Disabled('reference') |
| 36 @benchmark.Owner(emails=['ssid@chromium.org']) |
| 33 class TracingWithBackgroundMemoryInfra(perf_benchmark.PerfBenchmark): | 37 class TracingWithBackgroundMemoryInfra(perf_benchmark.PerfBenchmark): |
| 34 """Measures the overhead of background memory-infra dumps""" | 38 """Measures the overhead of background memory-infra dumps""" |
| 35 page_set = page_sets.Top10PageSet | 39 page_set = page_sets.Top10PageSet |
| 36 | 40 |
| 37 def CreateTimelineBasedMeasurementOptions(self): | 41 def CreateTimelineBasedMeasurementOptions(self): |
| 38 # Enable only memory-infra category with periodic background mode dumps | 42 # Enable only memory-infra category with periodic background mode dumps |
| 39 # every 200 milliseconds. | 43 # every 200 milliseconds. |
| 40 trace_memory = chrome_trace_category_filter.ChromeTraceCategoryFilter( | 44 trace_memory = chrome_trace_category_filter.ChromeTraceCategoryFilter( |
| 41 filter_string='-*,blink.console,disabled-by-default-memory-infra') | 45 filter_string='-*,blink.console,disabled-by-default-memory-infra') |
| 42 options = timeline_based_measurement.Options(overhead_level=trace_memory) | 46 options = timeline_based_measurement.Options(overhead_level=trace_memory) |
| 43 memory_dump_config = chrome_trace_config.MemoryDumpConfig() | 47 memory_dump_config = chrome_trace_config.MemoryDumpConfig() |
| 44 memory_dump_config.AddTrigger('background', 200) | 48 memory_dump_config.AddTrigger('background', 200) |
| 45 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) | 49 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) |
| 46 options.SetTimelineBasedMetrics(['tracingMetric']) | 50 options.SetTimelineBasedMetrics(['tracingMetric']) |
| 47 return options | 51 return options |
| 48 | 52 |
| 49 @classmethod | 53 @classmethod |
| 50 def Name(cls): | 54 def Name(cls): |
| 51 return 'tracing.tracing_with_background_memory_infra' | 55 return 'tracing.tracing_with_background_memory_infra' |
| OLD | NEW |