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 3# found in the LICENSE file. 4 5from core import perf_benchmark 6 7from telemetry import benchmark 8from telemetry.timeline import chrome_trace_category_filter 9from telemetry.timeline import chrome_trace_config 10from telemetry.web_perf import timeline_based_measurement 11 12import page_sets 13 14 15@benchmark.Info(emails=['ssid@chromium.org']) 16class TracingWithBackgroundMemoryInfra(perf_benchmark.PerfBenchmark): 17 """Measures the overhead of background memory-infra dumps""" 18 page_set = page_sets.Top10PageSet 19 20 def CreateCoreTimelineBasedMeasurementOptions(self): 21 # Enable only memory-infra category with periodic background mode dumps 22 # every 200 milliseconds. 23 trace_memory = chrome_trace_category_filter.ChromeTraceCategoryFilter( 24 filter_string='-*,blink.console,disabled-by-default-memory-infra') 25 options = timeline_based_measurement.Options(overhead_level=trace_memory) 26 memory_dump_config = chrome_trace_config.MemoryDumpConfig() 27 memory_dump_config.AddTrigger('background', 200) 28 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) 29 options.SetTimelineBasedMetrics(['tracingMetric']) 30 return options 31 32 @classmethod 33 def Name(cls): 34 return 'tracing.tracing_with_background_memory_infra' 35