exclude PluginsFieldTrialTest.NoPrefLeftBehind from valgrind bot
[chromium-blink-merge.git] / tools / perf / benchmarks / memory_health_plan.py
blob14be34cbf3f10ca62aec10f793ad8f95beee3e28
1 # Copyright 2015 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.
5 import re
7 from core import perf_benchmark
9 from telemetry import benchmark
10 from telemetry.timeline import tracing_category_filter
11 from telemetry.web_perf import timeline_based_measurement
13 import page_sets
16 RE_BENCHMARK_VALUES = re.compile('(fore|back)ground-memory_')
19 @benchmark.Enabled('android')
20 class MemoryHealthPlan(perf_benchmark.PerfBenchmark):
21 """Timeline based benchmark for the Memory Health Plan."""
23 page_set = page_sets.MemoryHealthStory
25 def SetExtraBrowserOptions(self, options):
26 # TODO(perezju): Temporary workaround to disable periodic memory dumps.
27 # See: http://crbug.com/513692
28 options.AppendExtraBrowserArgs('--enable-memory-benchmarking')
30 def CreateTimelineBasedMeasurementOptions(self):
31 # Enable only memory-infra, to get memory dumps, and blink.console, to get
32 # the timeline markers used for mapping threads to tabs.
33 trace_memory = tracing_category_filter.TracingCategoryFilter(
34 filter_string='-*,blink.console,disabled-by-default-memory-infra')
35 return timeline_based_measurement.Options(overhead_level=trace_memory)
37 @classmethod
38 def Name(cls):
39 return 'memory.memory_health_plan'
41 @classmethod
42 def ValueCanBeAddedPredicate(cls, value, is_first_result):
43 return bool(RE_BENCHMARK_VALUES.match(value.name))