| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import os | 4 import os |
| 5 | 5 |
| 6 from core import path_util | 6 from core import path_util |
| 7 from core import perf_benchmark | 7 from core import perf_benchmark |
| 8 from page_sets import google_pages | 8 from page_sets import google_pages |
| 9 | 9 |
| 10 from benchmarks import v8_helper | 10 from benchmarks import v8_helper |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 return True | 221 return True |
| 222 # http://crbug.com/623576 | 222 # http://crbug.com/623576 |
| 223 if (possible_browser.platform.GetDeviceTypeName() == 'Nexus 5' or | 223 if (possible_browser.platform.GetDeviceTypeName() == 'Nexus 5' or |
| 224 possible_browser.platform.GetDeviceTypeName() == 'Nexus 7'): | 224 possible_browser.platform.GetDeviceTypeName() == 'Nexus 7'): |
| 225 return True | 225 return True |
| 226 return False | 226 return False |
| 227 | 227 |
| 228 @classmethod | 228 @classmethod |
| 229 def ShouldTearDownStateAfterEachStoryRun(cls): | 229 def ShouldTearDownStateAfterEachStoryRun(cls): |
| 230 return True | 230 return True |
| 231 |
| 232 |
| 233 class _Top25RuntimeStats(perf_benchmark.PerfBenchmark): |
| 234 options = {'pageset_repeat': 1} |
| 235 |
| 236 def CreateTimelineBasedMeasurementOptions(self): |
| 237 # TODO(fmeawad): most of the cat_filter information is extracted from |
| 238 # page_cycler_v2 TimelineBasedMeasurementOptionsForLoadingMetric because |
| 239 # used by the loadingMetric because the runtimeStatsMetric uses the |
| 240 # interactive time calculated internally by the loadingMetric. |
| 241 # It is better to share the code so that we can keep them in sync. |
| 242 cat_filter = chrome_trace_category_filter.ChromeTraceCategoryFilter() |
| 243 |
| 244 # "blink.console" is used for marking ranges in |
| 245 # cache_temperature.MarkTelemetryInternal. |
| 246 cat_filter.AddIncludedCategory('blink.console') |
| 247 |
| 248 # "navigation" and "blink.user_timing" are needed to capture core |
| 249 # navigation events. |
| 250 cat_filter.AddIncludedCategory('navigation') |
| 251 cat_filter.AddIncludedCategory('blink.user_timing') |
| 252 |
| 253 # "loading" is needed for first-meaningful-paint computation. |
| 254 cat_filter.AddIncludedCategory('loading') |
| 255 |
| 256 # "toplevel" category is used to capture TaskQueueManager events |
| 257 # necessary to compute time-to-interactive. |
| 258 cat_filter.AddIncludedCategory('toplevel') |
| 259 |
| 260 # V8 needed categories |
| 261 cat_filter.AddIncludedCategory('v8') |
| 262 cat_filter.AddDisabledByDefault('disabled-by-default-v8.runtime_stats') |
| 263 |
| 264 tbm_options = timeline_based_measurement.Options( |
| 265 overhead_level=cat_filter) |
| 266 tbm_options.SetTimelineBasedMetrics(['runtimeStatsMetric']) |
| 267 return tbm_options |
| 268 |
| 269 @classmethod |
| 270 def ShouldDisable(cls, possible_browser): |
| 271 if possible_browser.browser_type == 'reference': |
| 272 return True |
| 273 return False |
| 274 |
| 275 |
| 276 class V8Top25RuntimeStats(_Top25RuntimeStats): |
| 277 """Runtime Stats benchmark for a 25 top V8 web pages. |
| 278 |
| 279 Designed to represent a mix between top websites and a set of pages that |
| 280 have unique V8 characteristics. |
| 281 """ |
| 282 |
| 283 @classmethod |
| 284 def Name(cls): |
| 285 return 'v8.runtime_stats.top_25' |
| 286 |
| 287 def CreateStorySet(self, options): |
| 288 return page_sets.V8Top25StorySet() |
| OLD | NEW |