Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Copyright 2017 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 import os | |
| 6 | |
| 7 from core import perf_benchmark | |
| 8 | |
| 9 from contrib.cros_benchmarks import tab_switching_measure | |
| 10 from contrib.cros_benchmarks import tab_switching_stories | |
| 11 from telemetry import benchmark | |
| 12 from telemetry import story | |
| 13 | |
| 14 | |
| 15 @benchmark.Owner(emails=['vovoy@chromium.org'], | |
| 16 component='OS>Performance') | |
| 17 @benchmark.Enabled('chromeos') | |
| 18 class CrosTabSwitchingTypical24(perf_benchmark.PerfBenchmark): | |
| 19 """Measuring the tab switching performance when there are many tabs. | |
|
deanliao_goog
2017/05/23 08:54:26
Measures tab switching performance with 24 tabs.
vovoy
2017/05/24 09:17:22
Done.
| |
| 20 | |
| 21 The script opens 24 pages in 24 different tabs, waits for them to load, | |
| 22 and then switches to each tabs and measures the tabs paint time. The 24 | |
| 23 pages were chosen from Alexa top ranking sites. Tab paint time is the | |
| 24 time between when a tab was requested to be shwon, and when first paint | |
|
deanliao_goog
2017/05/23 08:54:26
time between tab being requested and the first pai
vovoy
2017/05/24 09:17:22
Done.
| |
| 25 occurred. | |
| 26 | |
| 27 --tabset-repeat=N: Multiply the tab count by N to open more tabs. | |
|
deanliao_goog
2017/05/23 08:54:26
How about this:
Benchmark specific option:
--ta
vovoy
2017/05/24 09:17:21
Done.
| |
| 28 The following usage example opens 120 tabs. | |
| 29 $ ./run_benchmark --browser=cros-chrome --remote=DUT_IP | |
| 30 cros_tab_switching.typical_24 --tabset-repeat=5 | |
| 31 """ | |
| 32 test = tab_switching_measure.CrosTabSwitchingMeasurement | |
| 33 | |
| 34 @classmethod | |
| 35 def AddBenchmarkCommandLineArgs(cls, parser): | |
| 36 parser.add_option('--tabset-repeat', type='int', default=1, | |
| 37 help='repeat tab page set') | |
| 38 | |
| 39 def CreateStorySet(self, options): | |
| 40 if not options.cros_remote: | |
| 41 raise ValueError('Must specify --remote=DUT_IP to run this test.') | |
| 42 story_set = story.StorySet( | |
| 43 archive_data_file='data/tab_switching.json', | |
| 44 base_dir=os.path.dirname(os.path.abspath(__file__)), | |
| 45 cloud_storage_bucket=story.PARTNER_BUCKET) | |
| 46 story_set.AddStory(tab_switching_stories.CrosMultiTabTypical24Story( | |
| 47 story_set, options.cros_remote, options.tabset_repeat)) | |
| 48 return story_set | |
| 49 | |
| 50 @classmethod | |
| 51 def Name(cls): | |
| 52 return 'cros_tab_switching.typical_24' | |
| OLD | NEW |