| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 os | 5 import os |
| 6 | 6 |
| 7 from core import path_util | 7 from core import path_util |
| 8 from core import perf_benchmark | 8 from core import perf_benchmark |
| 9 | 9 |
| 10 from telemetry import benchmark | 10 from telemetry import benchmark |
| 11 from telemetry import page as page_module | 11 from telemetry import page as page_module |
| 12 from telemetry.page import legacy_page_test | 12 from telemetry.page import legacy_page_test |
| 13 from telemetry.page import shared_page_state | 13 from telemetry.page import shared_page_state |
| 14 from telemetry import story | 14 from telemetry import story |
| 15 from telemetry.timeline import bounds | 15 from telemetry.timeline import bounds |
| 16 from telemetry.timeline import model as model_module | 16 from telemetry.timeline import model as model_module |
| 17 from telemetry.timeline import tracing_config | 17 from telemetry.timeline import tracing_config |
| 18 | 18 |
| 19 from telemetry.value import list_of_scalar_values | 19 from telemetry.value import list_of_scalar_values |
| 20 from telemetry.value import scalar | 20 from telemetry.value import scalar |
| 21 from telemetry.value import trace | 21 from telemetry.value import trace |
| 22 | 22 |
| 23 | 23 |
| 24 from benchmarks import pywebsocket_server | |
| 25 from measurements import timeline_controller | 24 from measurements import timeline_controller |
| 26 from page_sets import webgl_supported_shared_state | 25 from page_sets import webgl_supported_shared_state |
| 27 | 26 |
| 28 | 27 |
| 29 BLINK_PERF_BASE_DIR = os.path.join(path_util.GetChromiumSrcDir(), | 28 BLINK_PERF_BASE_DIR = os.path.join(path_util.GetChromiumSrcDir(), |
| 30 'third_party', 'WebKit', 'PerformanceTests') | 29 'third_party', 'WebKit', 'PerformanceTests') |
| 31 SKIPPED_FILE = os.path.join(BLINK_PERF_BASE_DIR, 'Skipped') | 30 SKIPPED_FILE = os.path.join(BLINK_PERF_BASE_DIR, 'Skipped') |
| 32 | 31 |
| 33 | 32 |
| 34 def CreateStorySetFromPath(path, skipped_file, | 33 def CreateStorySetFromPath(path, skipped_file, |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 | 270 |
| 272 @classmethod | 271 @classmethod |
| 273 def Name(cls): | 272 def Name(cls): |
| 274 return 'blink_perf.' + cls.tag | 273 return 'blink_perf.' + cls.tag |
| 275 | 274 |
| 276 def CreateStorySet(self, options): | 275 def CreateStorySet(self, options): |
| 277 path = os.path.join(BLINK_PERF_BASE_DIR, self.subdir) | 276 path = os.path.join(BLINK_PERF_BASE_DIR, self.subdir) |
| 278 return CreateStorySetFromPath(path, SKIPPED_FILE) | 277 return CreateStorySetFromPath(path, SKIPPED_FILE) |
| 279 | 278 |
| 280 | 279 |
| 281 class _SharedPywebsocketPageState(shared_page_state.SharedPageState): | |
| 282 """Runs a pywebsocket server.""" | |
| 283 | |
| 284 def __init__(self, test, finder_options, user_story_set): | |
| 285 super(_SharedPywebsocketPageState, self).__init__( | |
| 286 test, finder_options, user_story_set) | |
| 287 self.platform.StartLocalServer(pywebsocket_server.PywebsocketServer()) | |
| 288 | |
| 289 | |
| 290 @benchmark.Owner(emails=['yukishiino@chromium.org', | 280 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 291 'bashi@chromium.org', | 281 'bashi@chromium.org', |
| 292 'haraken@chromium.org']) | 282 'haraken@chromium.org']) |
| 293 class BlinkPerfBindings(_BlinkPerfBenchmark): | 283 class BlinkPerfBindings(_BlinkPerfBenchmark): |
| 294 tag = 'bindings' | 284 tag = 'bindings' |
| 295 subdir = 'Bindings' | 285 subdir = 'Bindings' |
| 296 | 286 |
| 297 @classmethod | 287 @classmethod |
| 298 def ShouldDisable(cls, possible_browser): | 288 def ShouldDisable(cls, possible_browser): |
| 299 # http://crbug.com/563979 | 289 # http://crbug.com/563979 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 | 383 |
| 394 @benchmark.Owner(emails=['hayato@chromium.org']) | 384 @benchmark.Owner(emails=['hayato@chromium.org']) |
| 395 class BlinkPerfShadowDOM(_BlinkPerfBenchmark): | 385 class BlinkPerfShadowDOM(_BlinkPerfBenchmark): |
| 396 tag = 'shadow_dom' | 386 tag = 'shadow_dom' |
| 397 subdir = 'ShadowDOM' | 387 subdir = 'ShadowDOM' |
| 398 | 388 |
| 399 @classmethod | 389 @classmethod |
| 400 def ShouldDisable(cls, possible_browser): # http://crbug.com/702319 | 390 def ShouldDisable(cls, possible_browser): # http://crbug.com/702319 |
| 401 return possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X' | 391 return possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X' |
| 402 | 392 |
| 403 | |
| 404 | |
| 405 # Disabled on Windows and ChromeOS due to https://crbug.com/521887 | |
| 406 #@benchmark.Disabled('win', 'chromeos') | |
| 407 # Disabling on remaining platforms due to heavy flake https://crbug.com/646938 | |
| 408 @benchmark.Disabled('all') | |
| 409 @benchmark.Owner(emails=['tyoshino@chromium.org', 'yhirano@chromium.org']) | |
| 410 class BlinkPerfPywebsocket(_BlinkPerfBenchmark): | |
| 411 """The blink_perf.pywebsocket tests measure turn-around-time of 10MB | |
| 412 send/receive for XHR, Fetch API and WebSocket. We might ignore < 10% | |
| 413 regressions, because the tests are noisy and such regressions are | |
| 414 often unreproducible (https://crbug.com/549017). | |
| 415 """ | |
| 416 tag = 'pywebsocket' | |
| 417 subdir = 'Pywebsocket' | |
| 418 | |
| 419 def CreateStorySet(self, options): | |
| 420 path = os.path.join(BLINK_PERF_BASE_DIR, self.subdir) | |
| 421 return CreateStorySetFromPath( | |
| 422 path, SKIPPED_FILE, | |
| 423 shared_page_state_class=_SharedPywebsocketPageState) | |
| 424 | |
| 425 @classmethod | |
| 426 def ShouldDisable(cls, possible_browser): | |
| 427 return cls.IsSvelte(possible_browser) # http://crbug.com/551950 | |
| OLD | NEW |