Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(427)

Side by Side Diff: tools/perf/benchmarks/memory_infra.py

Issue 2166833003: Revert of [telemetry] Trace config should be used to disable periodic dumps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/perf/benchmarks/oortonline.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 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 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 8
9 from telemetry import benchmark 9 from telemetry import benchmark
10 from telemetry.timeline import chrome_trace_category_filter 10 from telemetry.timeline import chrome_trace_category_filter
11 from telemetry.timeline import chrome_trace_config
12 from telemetry.web_perf import timeline_based_measurement 11 from telemetry.web_perf import timeline_based_measurement
13 12
14 import page_sets 13 import page_sets
15 14
16 15
17 # See tr.v.Numeric.getSummarizedScalarNumericsWithNames() 16 # See tr.v.Numeric.getSummarizedScalarNumericsWithNames()
18 # https://github.com/catapult-project/catapult/blob/master/tracing/tracing/value /numeric.html#L323 17 # https://github.com/catapult-project/catapult/blob/master/tracing/tracing/value /numeric.html#L323
19 _IGNORED_STATS_RE = re.compile( 18 _IGNORED_STATS_RE = re.compile(
20 r'(?<!dump)(?<!process)_(std|count|max|min|sum|pct_\d{4}(_\d+)?)$') 19 r'(?<!dump)(?<!process)_(std|count|max|min|sum|pct_\d{4}(_\d+)?)$')
21 20
22 21
23 class _MemoryInfra(perf_benchmark.PerfBenchmark): 22 class _MemoryInfra(perf_benchmark.PerfBenchmark):
24 """Base class for new-generation memory benchmarks based on memory-infra. 23 """Base class for new-generation memory benchmarks based on memory-infra.
25 24
26 This benchmark records data using memory-infra (https://goo.gl/8tGc6O), which 25 This benchmark records data using memory-infra (https://goo.gl/8tGc6O), which
27 is part of chrome tracing, and extracts it using timeline-based measurements. 26 is part of chrome tracing, and extracts it using timeline-based measurements.
28 """ 27 """
29 28
29 def SetExtraBrowserOptions(self, options):
30 options.AppendExtraBrowserArgs([
31 # TODO(perezju): Temporary workaround to disable periodic memory dumps.
32 # See: http://crbug.com/513692
33 '--enable-memory-benchmarking',
34 ])
35
30 def CreateTimelineBasedMeasurementOptions(self): 36 def CreateTimelineBasedMeasurementOptions(self):
31 # Enable only memory-infra, to get memory dumps, and blink.console, to get 37 # Enable only memory-infra, to get memory dumps, and blink.console, to get
32 # the timeline markers used for mapping threads to tabs. 38 # the timeline markers used for mapping threads to tabs.
33 trace_memory = chrome_trace_category_filter.ChromeTraceCategoryFilter( 39 trace_memory = chrome_trace_category_filter.ChromeTraceCategoryFilter(
34 filter_string='-*,blink.console,disabled-by-default-memory-infra') 40 filter_string='-*,blink.console,disabled-by-default-memory-infra')
35 tbm_options = timeline_based_measurement.Options( 41 tbm_options = timeline_based_measurement.Options(
36 overhead_level=trace_memory) 42 overhead_level=trace_memory)
37 tbm_options.config.enable_android_graphics_memtrack = True 43 tbm_options.config.enable_android_graphics_memtrack = True
38 tbm_options.SetTimelineBasedMetrics(['memoryMetric']) 44 tbm_options.SetTimelineBasedMetrics(['memoryMetric'])
39 # Setting an empty memory dump config disables periodic dumps.
40 tbm_options.config.chrome_trace_config.SetMemoryDumpConfig(
41 chrome_trace_config.MemoryDumpConfig())
42 return tbm_options 45 return tbm_options
43 46
44 47
45 # TODO(bashi): Workaround for http://crbug.com/532075. 48 # TODO(bashi): Workaround for http://crbug.com/532075.
46 # @benchmark.Enabled('android') shouldn't be needed. 49 # @benchmark.Enabled('android') shouldn't be needed.
47 @benchmark.Enabled('android') 50 @benchmark.Enabled('android')
48 class MemoryBenchmarkTop10Mobile(_MemoryInfra): 51 class MemoryBenchmarkTop10Mobile(_MemoryInfra):
49 """Measure foreground/background memory on top 10 mobile page set. 52 """Measure foreground/background memory on top 10 mobile page set.
50 53
51 This metric provides memory measurements for the System Health Plan of 54 This metric provides memory measurements for the System Health Plan of
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 r'(reported_by_chrome:v8|reported_by_os:system_memory:[^:]+$)') 175 r'(reported_by_chrome:v8|reported_by_os:system_memory:[^:]+$)')
173 176
174 def CreateTimelineBasedMeasurementOptions(self): 177 def CreateTimelineBasedMeasurementOptions(self):
175 v8_categories = [ 178 v8_categories = [
176 'blink.console', 'renderer.scheduler', 'v8', 'webkit.console'] 179 'blink.console', 'renderer.scheduler', 'v8', 'webkit.console']
177 memory_categories = ['blink.console', 'disabled-by-default-memory-infra'] 180 memory_categories = ['blink.console', 'disabled-by-default-memory-infra']
178 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter( 181 category_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter(
179 ','.join(['-*'] + v8_categories + memory_categories)) 182 ','.join(['-*'] + v8_categories + memory_categories))
180 options = timeline_based_measurement.Options(category_filter) 183 options = timeline_based_measurement.Options(category_filter)
181 options.SetTimelineBasedMetrics(['v8AndMemoryMetrics']) 184 options.SetTimelineBasedMetrics(['v8AndMemoryMetrics'])
182 # Setting an empty memory dump config disables periodic dumps.
183 options.config.chrome_trace_config.SetMemoryDumpConfig(
184 chrome_trace_config.MemoryDumpConfig())
185 return options 185 return options
186 186
187 @classmethod 187 @classmethod
188 def ValueCanBeAddedPredicate(cls, value, _): 188 def ValueCanBeAddedPredicate(cls, value, _):
189 if 'memory:chrome' in value.name: 189 if 'memory:chrome' in value.name:
190 # TODO(petrcermak): Remove the first two cases once 190 # TODO(petrcermak): Remove the first two cases once
191 # https://codereview.chromium.org/2018503002/ lands in Catapult and rolls 191 # https://codereview.chromium.org/2018503002/ lands in Catapult and rolls
192 # into Chromium. 192 # into Chromium.
193 return ('renderer:subsystem:v8' in value.name or 193 return ('renderer:subsystem:v8' in value.name or
194 'renderer:vmstats:overall' in value.name or 194 'renderer:vmstats:overall' in value.name or
(...skipping 21 matching lines...) Expand all
216 of long running idle Gmail page """ 216 of long running idle Gmail page """
217 page_set = page_sets.LongRunningIdleGmailBackgroundPageSet 217 page_set = page_sets.LongRunningIdleGmailBackgroundPageSet
218 218
219 @classmethod 219 @classmethod
220 def Name(cls): 220 def Name(cls):
221 return 'memory.long_running_idle_gmail_background_tbmv2' 221 return 'memory.long_running_idle_gmail_background_tbmv2'
222 222
223 @classmethod 223 @classmethod
224 def ShouldDisable(cls, possible_browser): # http://crbug.com/616530 224 def ShouldDisable(cls, possible_browser): # http://crbug.com/616530
225 return cls.IsSvelte(possible_browser) 225 return cls.IsSvelte(possible_browser)
OLDNEW
« no previous file with comments | « no previous file | tools/perf/benchmarks/oortonline.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698