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 import re | 5 import re |
6 | 6 |
7 from benchmarks import v8_helper | 7 from benchmarks import v8_helper |
8 from core import perf_benchmark | 8 from core import perf_benchmark |
9 from telemetry import benchmark | 9 from telemetry import benchmark |
10 from telemetry.timeline import chrome_trace_config | 10 from telemetry.timeline import chrome_trace_config |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 memory_dump_config = chrome_trace_config.MemoryDumpConfig() | 61 memory_dump_config = chrome_trace_config.MemoryDumpConfig() |
62 memory_dump_config.AddTrigger('light', 1000) | 62 memory_dump_config.AddTrigger('light', 1000) |
63 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) | 63 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) |
64 options.SetTimelineBasedMetrics(['v8AndMemoryMetrics']) | 64 options.SetTimelineBasedMetrics(['v8AndMemoryMetrics']) |
65 return options | 65 return options |
66 | 66 |
67 def CreateStorySet(self, options): | 67 def CreateStorySet(self, options): |
68 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') | 68 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') |
69 | 69 |
70 @classmethod | 70 @classmethod |
71 def Name(cls): | |
72 return 'v8.browsing_%s%s' % (cls.PLATFORM, cls.TEST_SUFFIX) | |
73 | |
74 @classmethod | |
75 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 71 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
76 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard | 72 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard |
77 # is able to cope with the data load generated by TBMv2 metrics. | 73 # is able to cope with the data load generated by TBMv2 metrics. |
78 if 'memory:chrome' in value.name: | 74 if 'memory:chrome' in value.name: |
79 return ('renderer_processes' in value.name and | 75 return ('renderer_processes' in value.name and |
80 not _IGNORED_MEMORY_STATS_RE.search(value.name)) | 76 not _IGNORED_MEMORY_STATS_RE.search(value.name)) |
81 if 'v8-gc' in value.name: | 77 if 'v8-gc' in value.name: |
82 return (_V8_GC_HIGH_LEVEL_STATS_RE.search(value.name) and | 78 return (_V8_GC_HIGH_LEVEL_STATS_RE.search(value.name) and |
83 not _IGNORED_V8_STATS_RE.search(value.name)) | 79 not _IGNORED_V8_STATS_RE.search(value.name)) |
84 # Allow all other non-GC metrics. | 80 # Allow all other non-GC metrics. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 memory_dump_config.AddTrigger('light', 1000) | 118 memory_dump_config.AddTrigger('light', 1000) |
123 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) | 119 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) |
124 | 120 |
125 options.SetTimelineBasedMetrics(['runtimeStatsTotalMetric', 'gcMetric']) | 121 options.SetTimelineBasedMetrics(['runtimeStatsTotalMetric', 'gcMetric']) |
126 return options | 122 return options |
127 | 123 |
128 def CreateStorySet(self, options): | 124 def CreateStorySet(self, options): |
129 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') | 125 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') |
130 | 126 |
131 @classmethod | 127 @classmethod |
132 def Name(cls): | |
133 return 'v8.runtimestats.browsing_%s%s' % (cls.PLATFORM, cls.TEST_SUFFIX) | |
134 | |
135 @classmethod | |
136 def ShouldTearDownStateAfterEachStoryRun(cls): | 128 def ShouldTearDownStateAfterEachStoryRun(cls): |
137 return True | 129 return True |
138 | 130 |
139 | 131 |
140 class _V8DesktopBrowsingBenchmark(_V8BrowsingBenchmark): | 132 class _V8DesktopBrowsingBenchmark(_V8BrowsingBenchmark): |
141 | 133 |
142 @classmethod | 134 @classmethod |
143 def ShouldDisable(cls, possible_browser): | 135 def ShouldDisable(cls, possible_browser): |
144 # http://crbug.com/628736 | 136 # http://crbug.com/628736 |
145 if (possible_browser.platform.GetOSName() == 'mac' and | 137 if (possible_browser.platform.GetOSName() == 'mac' and |
146 possible_browser.browser_type == 'reference'): | 138 possible_browser.browser_type == 'reference'): |
147 return True | 139 return True |
148 | 140 |
149 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 141 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
150 | 142 |
151 | 143 |
152 class _V8MobileBrowsingBenchmark(_V8BrowsingBenchmark): | 144 class _V8MobileBrowsingBenchmark(_V8BrowsingBenchmark): |
153 | 145 |
154 @classmethod | 146 @classmethod |
155 def ShouldDisable(cls, possible_browser): | 147 def ShouldDisable(cls, possible_browser): |
156 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 148 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
157 | 149 |
158 | 150 |
159 @benchmark.Owner(emails=['ulan@chromium.org']) | 151 @benchmark.Owner(emails=['ulan@chromium.org']) |
160 class V8DesktopBrowsingBenchmark(_V8DesktopBrowsingBenchmark): | 152 class V8DesktopBrowsingBenchmark(_V8DesktopBrowsingBenchmark): |
161 PLATFORM = 'desktop' | 153 PLATFORM = 'desktop' |
162 TEST_SUFFIX = '' | 154 |
| 155 @classmethod |
| 156 def Name(cls): |
| 157 return 'v8.browsing_desktop' |
163 | 158 |
164 | 159 |
165 @benchmark.Owner(emails=['ulan@chromium.org']) | 160 @benchmark.Owner(emails=['ulan@chromium.org']) |
166 @benchmark.Disabled('reference') # http://crbug.com/628631 | 161 @benchmark.Disabled('reference') # http://crbug.com/628631 |
167 class V8MobileBrowsingBenchmark(_V8MobileBrowsingBenchmark): | 162 class V8MobileBrowsingBenchmark(_V8MobileBrowsingBenchmark): |
168 PLATFORM = 'mobile' | 163 PLATFORM = 'mobile' |
169 TEST_SUFFIX = '' | 164 |
| 165 @classmethod |
| 166 def Name(cls): |
| 167 return 'v8.browsing_mobile' |
170 | 168 |
171 | 169 |
172 @benchmark.Disabled('reference') # http://crbug.com/700390 | 170 @benchmark.Disabled('reference') # http://crbug.com/700390 |
173 @benchmark.Disabled('all') | 171 @benchmark.Disabled('all') |
174 @benchmark.Owner(emails=['mvstaton@chromium.org']) | 172 @benchmark.Owner(emails=['mvstaton@chromium.org']) |
175 class V8DesktopTurboBrowsingBenchmark(_V8DesktopBrowsingBenchmark): | 173 class V8DesktopTurboBrowsingBenchmark(_V8DesktopBrowsingBenchmark): |
176 PLATFORM = 'desktop' | 174 PLATFORM = 'desktop' |
177 TEST_SUFFIX = '_turbo' | |
178 | 175 |
179 def SetExtraBrowserOptions(self, options): | 176 def SetExtraBrowserOptions(self, options): |
180 super(V8DesktopTurboBrowsingBenchmark, self).SetExtraBrowserOptions( | 177 super(V8DesktopTurboBrowsingBenchmark, self).SetExtraBrowserOptions( |
181 options) | 178 options) |
182 v8_helper.EnableTurbo(options) | 179 v8_helper.EnableTurbo(options) |
183 | 180 |
| 181 @classmethod |
| 182 def Name(cls): |
| 183 return 'v8.browsing_desktop_turbo' |
| 184 |
| 185 |
184 | 186 |
185 @benchmark.Disabled('reference') # http://crbug.com/628631 | 187 @benchmark.Disabled('reference') # http://crbug.com/628631 |
186 @benchmark.Disabled('all') | 188 @benchmark.Disabled('all') |
187 @benchmark.Owner(emails=['mvstaton@chromium.org']) | 189 @benchmark.Owner(emails=['mvstaton@chromium.org']) |
188 class V8MobileTurboBrowsingBenchmark(_V8MobileBrowsingBenchmark): | 190 class V8MobileTurboBrowsingBenchmark(_V8MobileBrowsingBenchmark): |
189 PLATFORM = 'mobile' | 191 PLATFORM = 'mobile' |
190 TEST_SUFFIX = '_turbo' | |
191 | 192 |
192 def SetExtraBrowserOptions(self, options): | 193 def SetExtraBrowserOptions(self, options): |
193 super(V8MobileTurboBrowsingBenchmark, self).SetExtraBrowserOptions( | 194 super(V8MobileTurboBrowsingBenchmark, self).SetExtraBrowserOptions( |
194 options) | 195 options) |
195 v8_helper.EnableTurbo(options) | 196 v8_helper.EnableTurbo(options) |
196 | 197 |
| 198 @classmethod |
| 199 def Name(cls): |
| 200 return 'v8.browsing_mobile_turbo' |
| 201 |
197 | 202 |
198 @benchmark.Disabled('reference') # http://crbug.com/700390 | 203 @benchmark.Disabled('reference') # http://crbug.com/700390 |
199 @benchmark.Owner(emails=['hablich@chromium.org']) | 204 @benchmark.Owner(emails=['hablich@chromium.org']) |
200 class V8DesktopClassicBrowsingBenchmark(_V8DesktopBrowsingBenchmark): | 205 class V8DesktopClassicBrowsingBenchmark(_V8DesktopBrowsingBenchmark): |
201 PLATFORM = 'desktop' | 206 PLATFORM = 'desktop' |
202 TEST_SUFFIX = '_classic' | |
203 | 207 |
204 def SetExtraBrowserOptions(self, options): | 208 def SetExtraBrowserOptions(self, options): |
205 super(V8DesktopClassicBrowsingBenchmark, self).SetExtraBrowserOptions( | 209 super(V8DesktopClassicBrowsingBenchmark, self).SetExtraBrowserOptions( |
206 options) | 210 options) |
207 v8_helper.EnableClassic(options) | 211 v8_helper.EnableClassic(options) |
208 | 212 |
| 213 @classmethod |
| 214 def Name(cls): |
| 215 return 'v8.browsing_desktop_classic' |
| 216 |
209 | 217 |
210 @benchmark.Disabled('reference') # http://crbug.com/628631 | 218 @benchmark.Disabled('reference') # http://crbug.com/628631 |
211 @benchmark.Owner(emails=['hablich@chromium.org']) | 219 @benchmark.Owner(emails=['hablich@chromium.org']) |
212 class V8MobileClassicBrowsingBenchmark(_V8MobileBrowsingBenchmark): | 220 class V8MobileClassicBrowsingBenchmark(_V8MobileBrowsingBenchmark): |
213 PLATFORM = 'mobile' | 221 PLATFORM = 'mobile' |
214 TEST_SUFFIX = '_classic' | |
215 | 222 |
216 def SetExtraBrowserOptions(self, options): | 223 def SetExtraBrowserOptions(self, options): |
217 super(V8MobileClassicBrowsingBenchmark, self).SetExtraBrowserOptions( | 224 super(V8MobileClassicBrowsingBenchmark, self).SetExtraBrowserOptions( |
218 options) | 225 options) |
219 v8_helper.EnableClassic(options) | 226 v8_helper.EnableClassic(options) |
220 | 227 |
| 228 @classmethod |
| 229 def Name(cls): |
| 230 return 'v8.browsing_mobile_classic' |
| 231 |
221 | 232 |
222 @benchmark.Owner(emails=['mythria@chromium.org']) | 233 @benchmark.Owner(emails=['mythria@chromium.org']) |
223 class V8RuntimeStatsDesktopBrowsingBenchmark( | 234 class V8RuntimeStatsDesktopBrowsingBenchmark( |
224 _V8RuntimeStatsBrowsingBenchmark): | 235 _V8RuntimeStatsBrowsingBenchmark): |
225 PLATFORM = 'desktop' | 236 PLATFORM = 'desktop' |
226 TEST_SUFFIX = '' | |
227 | 237 |
228 @classmethod | 238 @classmethod |
229 def ShouldDisable(cls, possible_browser): | 239 def ShouldDisable(cls, possible_browser): |
230 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 240 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
231 | 241 |
| 242 @classmethod |
| 243 def Name(cls): |
| 244 return 'v8.runtimestats.browsing_desktop' |
| 245 |
232 | 246 |
233 @benchmark.Disabled('reference') # http://crbug.com/700390 | 247 @benchmark.Disabled('reference') # http://crbug.com/700390 |
234 @benchmark.Disabled('all') | 248 @benchmark.Disabled('all') |
235 @benchmark.Owner(emails=['mythria@chromium.org']) | 249 @benchmark.Owner(emails=['mythria@chromium.org']) |
236 class V8RuntimeStatsDesktopTurboBrowsingBenchmark( | 250 class V8RuntimeStatsDesktopTurboBrowsingBenchmark( |
237 _V8RuntimeStatsBrowsingBenchmark): | 251 _V8RuntimeStatsBrowsingBenchmark): |
238 PLATFORM = 'desktop' | 252 PLATFORM = 'desktop' |
239 TEST_SUFFIX = '_turbo' | |
240 | 253 |
241 def SetExtraBrowserOptions(self, options): | 254 def SetExtraBrowserOptions(self, options): |
242 super(V8RuntimeStatsDesktopTurboBrowsingBenchmark, | 255 super(V8RuntimeStatsDesktopTurboBrowsingBenchmark, |
243 self).SetExtraBrowserOptions(options) | 256 self).SetExtraBrowserOptions(options) |
244 v8_helper.EnableTurbo(options) | 257 v8_helper.EnableTurbo(options) |
245 | 258 |
246 @classmethod | 259 @classmethod |
247 def ShouldDisable(cls, possible_browser): | 260 def ShouldDisable(cls, possible_browser): |
248 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 261 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
249 | 262 |
| 263 @classmethod |
| 264 def Name(cls): |
| 265 return 'v8.runtimestats.browsing_desktop_turbo' |
| 266 |
250 | 267 |
251 @benchmark.Disabled('reference') # http://crbug.com/700390 | 268 @benchmark.Disabled('reference') # http://crbug.com/700390 |
252 @benchmark.Owner(emails=['hablich@chromium.org']) | 269 @benchmark.Owner(emails=['hablich@chromium.org']) |
253 class V8RuntimeStatsDesktopClassicBrowsingBenchmark( | 270 class V8RuntimeStatsDesktopClassicBrowsingBenchmark( |
254 _V8RuntimeStatsBrowsingBenchmark): | 271 _V8RuntimeStatsBrowsingBenchmark): |
255 PLATFORM = 'desktop' | 272 PLATFORM = 'desktop' |
256 TEST_SUFFIX = '_classic' | |
257 | 273 |
258 def SetExtraBrowserOptions(self, options): | 274 def SetExtraBrowserOptions(self, options): |
259 super(V8RuntimeStatsDesktopClassicBrowsingBenchmark, | 275 super(V8RuntimeStatsDesktopClassicBrowsingBenchmark, |
260 self).SetExtraBrowserOptions(options) | 276 self).SetExtraBrowserOptions(options) |
261 v8_helper.EnableClassic(options) | 277 v8_helper.EnableClassic(options) |
262 | 278 |
263 @classmethod | 279 @classmethod |
264 def ShouldDisable(cls, possible_browser): | 280 def ShouldDisable(cls, possible_browser): |
265 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 281 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
266 | 282 |
| 283 @classmethod |
| 284 def Name(cls): |
| 285 return 'v8.runtimestats.browsing_desktop_classic' |
| 286 |
| 287 |
267 | 288 |
268 @benchmark.Disabled('reference') # http://crbug.com/694658 | 289 @benchmark.Disabled('reference') # http://crbug.com/694658 |
269 @benchmark.Owner(emails=['mythria@chromium.org']) | 290 @benchmark.Owner(emails=['mythria@chromium.org']) |
270 class V8RuntimeStatsMobileBrowsingBenchmark( | 291 class V8RuntimeStatsMobileBrowsingBenchmark( |
271 _V8RuntimeStatsBrowsingBenchmark): | 292 _V8RuntimeStatsBrowsingBenchmark): |
272 PLATFORM = 'mobile' | 293 PLATFORM = 'mobile' |
273 TEST_SUFFIX = '' | |
274 | 294 |
275 @classmethod | 295 @classmethod |
276 def ShouldDisable(cls, possible_browser): | 296 def ShouldDisable(cls, possible_browser): |
277 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 297 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
278 | 298 |
| 299 @classmethod |
| 300 def Name(cls): |
| 301 return 'v8.runtimestats.browsing_mobile' |
| 302 |
279 | 303 |
280 @benchmark.Disabled('reference') # http://crbug.com/694658 | 304 @benchmark.Disabled('reference') # http://crbug.com/694658 |
281 @benchmark.Disabled('all') | 305 @benchmark.Disabled('all') |
282 @benchmark.Owner(emails=['mythria@chromium.org']) | 306 @benchmark.Owner(emails=['mythria@chromium.org']) |
283 class V8RuntimeStatsMobileTurboBrowsingBenchmark( | 307 class V8RuntimeStatsMobileTurboBrowsingBenchmark( |
284 _V8RuntimeStatsBrowsingBenchmark): | 308 _V8RuntimeStatsBrowsingBenchmark): |
285 PLATFORM = 'mobile' | 309 PLATFORM = 'mobile' |
286 TEST_SUFFIX = '_turbo' | |
287 | 310 |
288 def SetExtraBrowserOptions(self, options): | 311 def SetExtraBrowserOptions(self, options): |
289 super(V8RuntimeStatsMobileTurboBrowsingBenchmark, | 312 super(V8RuntimeStatsMobileTurboBrowsingBenchmark, |
290 self).SetExtraBrowserOptions(options) | 313 self).SetExtraBrowserOptions(options) |
291 v8_helper.EnableTurbo(options) | 314 v8_helper.EnableTurbo(options) |
292 | 315 |
293 @classmethod | 316 @classmethod |
294 def ShouldDisable(cls, possible_browser): | 317 def ShouldDisable(cls, possible_browser): |
295 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 318 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
296 | 319 |
| 320 @classmethod |
| 321 def Name(cls): |
| 322 return 'v8.runtimestats.browsing_mobile_turbo' |
| 323 |
297 | 324 |
298 @benchmark.Disabled('reference') # http://crbug.com/694658 | 325 @benchmark.Disabled('reference') # http://crbug.com/694658 |
299 @benchmark.Owner(emails=['hablich@chromium.org']) | 326 @benchmark.Owner(emails=['hablich@chromium.org']) |
300 class V8RuntimeStatsMobileClassicBrowsingBenchmark( | 327 class V8RuntimeStatsMobileClassicBrowsingBenchmark( |
301 _V8RuntimeStatsBrowsingBenchmark): | 328 _V8RuntimeStatsBrowsingBenchmark): |
302 PLATFORM = 'mobile' | 329 PLATFORM = 'mobile' |
303 TEST_SUFFIX = '_classic' | |
304 | 330 |
305 def SetExtraBrowserOptions(self, options): | 331 def SetExtraBrowserOptions(self, options): |
306 super(V8RuntimeStatsMobileClassicBrowsingBenchmark, | 332 super(V8RuntimeStatsMobileClassicBrowsingBenchmark, |
307 self).SetExtraBrowserOptions(options) | 333 self).SetExtraBrowserOptions(options) |
308 v8_helper.EnableClassic(options) | 334 v8_helper.EnableClassic(options) |
309 | 335 |
310 @classmethod | 336 @classmethod |
311 def ShouldDisable(cls, possible_browser): | 337 def ShouldDisable(cls, possible_browser): |
312 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 338 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
| 339 |
| 340 @classmethod |
| 341 def Name(cls): |
| 342 return 'v8.runtimestats.browsing_mobile_classic' |
OLD | NEW |