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

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

Issue 2095923002: [tools/perf] Add long running dual browser benchmark (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 | no next file » | 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 tracing_category_filter 10 from telemetry.timeline import tracing_category_filter
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 return not possible_browser.platform.CanLaunchApplication( 108 return not possible_browser.platform.CanLaunchApplication(
109 'com.google.android.deskclock') 109 'com.google.android.deskclock')
110 110
111 @classmethod 111 @classmethod
112 def ValueCanBeAddedPredicate(cls, value, is_first_result): 112 def ValueCanBeAddedPredicate(cls, value, is_first_result):
113 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard 113 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard
114 # is able to cope with the data load generated by TBMv2 metrics. 114 # is able to cope with the data load generated by TBMv2 metrics.
115 return not _IGNORED_STATS_RE.search(value.name) 115 return not _IGNORED_STATS_RE.search(value.name)
116 116
117 117
118 # Benchmark is disabled by default because it takes too long to run. 118 # Benchmark disabled by default. Force to run with --also-run-disabled-tests.
119 @benchmark.Disabled('all') 119 @benchmark.Disabled('all')
120 class DualBrowserBenchmark(_MemoryInfra): 120 class DualBrowserBenchmark(_MemoryInfra):
121 """Measures memory usage while interacting with two different browsers. 121 """Measures memory usage while interacting with two different browsers.
122 122
123 The user story involves going back and forth between doing Google searches 123 The user story involves going back and forth between doing Google searches
124 on a webview-based browser (a stand in for the Search app), and loading 124 on a webview-based browser (a stand in for the Search app), and loading
125 pages on a select browser. 125 pages on a select browser.
126 """ 126 """
127 TBM_VERSION = 2 127 TBM_VERSION = 2
128 page_set = page_sets.DualBrowserStorySet 128 page_set = page_sets.DualBrowserStorySet
129 options = {'pageset_repeat': 5} 129 options = {'pageset_repeat': 5}
130 130
131 @classmethod 131 @classmethod
132 def Name(cls): 132 def Name(cls):
133 return 'memory.dual_browser_test' 133 return 'memory.dual_browser_test'
134 134
135 @classmethod 135 @classmethod
136 def ValueCanBeAddedPredicate(cls, value, is_first_result): 136 def ValueCanBeAddedPredicate(cls, value, is_first_result):
137 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard 137 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard
138 # is able to cope with the data load generated by TBMv2 metrics. 138 # is able to cope with the data load generated by TBMv2 metrics.
139 return not _IGNORED_STATS_RE.search(value.name) 139 return not _IGNORED_STATS_RE.search(value.name)
140 140
141 141
142 # Benchmark disabled by default. Force to run with --also-run-disabled-tests.
143 @benchmark.Disabled('all')
144 class LongRunningDualBrowserBenchmark(_MemoryInfra):
145 """Measures memory during prolonged usage of alternating browsers.
146
147 Same as memory.dual_browser_test, but the test is run for 60 iterations
148 and the browser is *not* restarted between page set repeats.
149 """
150 TBM_VERSION = 2
151 page_set = page_sets.DualBrowserStorySet
152 options = {'pageset_repeat': 60}
153
154 @classmethod
155 def Name(cls):
156 return 'memory.long_running_dual_browser_test'
157
158 @classmethod
159 def ShouldTearDownStateAfterEachStorySetRun(cls):
160 return False
perezju 2016/06/24 10:11:08 Note this method does not exist, yet. Will be adde
161
162 @classmethod
163 def ValueCanBeAddedPredicate(cls, value, is_first_result):
164 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard
165 # is able to cope with the data load generated by TBMv2 metrics.
166 return not _IGNORED_STATS_RE.search(value.name)
167
168
142 # TODO(bashi): Workaround for http://crbug.com/532075 169 # TODO(bashi): Workaround for http://crbug.com/532075
143 # @benchmark.Enabled('android') shouldn't be needed. 170 # @benchmark.Enabled('android') shouldn't be needed.
144 @benchmark.Enabled('android') 171 @benchmark.Enabled('android')
145 class RendererMemoryBlinkMemoryMobile(_MemoryInfra): 172 class RendererMemoryBlinkMemoryMobile(_MemoryInfra):
146 """Timeline based benchmark for measuring memory consumption on mobile 173 """Timeline based benchmark for measuring memory consumption on mobile
147 sites on which blink's memory consumption is relatively high.""" 174 sites on which blink's memory consumption is relatively high."""
148 175
149 _RE_RENDERER_VALUES = re.compile('memory_.+_renderer') 176 _RE_RENDERER_VALUES = re.compile('memory_.+_renderer')
150 177
151 page_set = page_sets.BlinkMemoryMobilePageSet 178 page_set = page_sets.BlinkMemoryMobilePageSet
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 of long running idle Gmail page """ 245 of long running idle Gmail page """
219 page_set = page_sets.LongRunningIdleGmailBackgroundPageSet 246 page_set = page_sets.LongRunningIdleGmailBackgroundPageSet
220 247
221 @classmethod 248 @classmethod
222 def Name(cls): 249 def Name(cls):
223 return 'memory.long_running_idle_gmail_background_tbmv2' 250 return 'memory.long_running_idle_gmail_background_tbmv2'
224 251
225 @classmethod 252 @classmethod
226 def ShouldDisable(cls, possible_browser): # http://crbug.com/616530 253 def ShouldDisable(cls, possible_browser): # http://crbug.com/616530
227 return cls.IsSvelte(possible_browser) 254 return cls.IsSvelte(possible_browser)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698