| 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 from measurements import page_cycler | 5 from measurements import page_cycler |
| 6 import page_sets | 6 import page_sets |
| 7 from telemetry import benchmark | 7 from telemetry import benchmark |
| 8 | 8 |
| 9 | 9 |
| 10 class _PageCycler(benchmark.Benchmark): | 10 class PageCyclerDhtml(benchmark.Benchmark): |
| 11 test = page_cycler.PageCycler |
| 12 page_set = page_sets.DhtmlPageSet |
| 11 options = {'pageset_repeat': 10} | 13 options = {'pageset_repeat': 10} |
| 12 | 14 |
| 13 @classmethod | |
| 14 def AddBenchmarkCommandLineArgs(cls, parser): | |
| 15 parser.add_option('--v8-object-stats', | |
| 16 action='store_true', | |
| 17 help='Enable detailed V8 object statistics.') | |
| 18 | 15 |
| 19 parser.add_option('--report-speed-index', | 16 class PageCyclerIntlArFaHe(benchmark.Benchmark): |
| 20 action='store_true', | 17 test = page_cycler.PageCycler |
| 21 help='Enable the speed index metric.') | |
| 22 | |
| 23 parser.add_option('--cold-load-percent', type='int', default=50, | |
| 24 help='%d of page visits for which a cold load is forced') | |
| 25 | |
| 26 def CreatePageTest(self, options): | |
| 27 return page_cycler.PageCycler( | |
| 28 page_repeat = options.page_repeat, | |
| 29 pageset_repeat = options.pageset_repeat, | |
| 30 cold_load_percent = options.cold_load_percent, | |
| 31 record_v8_object_stats = options.v8_object_stats, | |
| 32 report_speed_index = options.report_speed_index) | |
| 33 | |
| 34 | |
| 35 class PageCyclerDhtml(_PageCycler): | |
| 36 page_set = page_sets.DhtmlPageSet | |
| 37 | |
| 38 | |
| 39 class PageCyclerIntlArFaHe(_PageCycler): | |
| 40 page_set = page_sets.IntlArFaHePageSet | 18 page_set = page_sets.IntlArFaHePageSet |
| 19 options = {'pageset_repeat': 10} |
| 41 | 20 |
| 42 | 21 |
| 43 @benchmark.Disabled('win') # crbug.com/388337 | 22 @benchmark.Disabled('win') # crbug.com/388337 |
| 44 class PageCyclerIntlEsFrPtBr(_PageCycler): | 23 class PageCyclerIntlEsFrPtBr(benchmark.Benchmark): |
| 24 test = page_cycler.PageCycler |
| 45 page_set = page_sets.IntlEsFrPtBrPageSet | 25 page_set = page_sets.IntlEsFrPtBrPageSet |
| 26 options = {'pageset_repeat': 10} |
| 46 | 27 |
| 47 | 28 |
| 48 class PageCyclerIntlHiRu(_PageCycler): | 29 class PageCyclerIntlHiRu(benchmark.Benchmark): |
| 30 test = page_cycler.PageCycler |
| 49 page_set = page_sets.IntlHiRuPageSet | 31 page_set = page_sets.IntlHiRuPageSet |
| 32 options = {'pageset_repeat': 10} |
| 50 | 33 |
| 51 | 34 |
| 52 @benchmark.Disabled('android', 'win') # crbug.com/379564, crbug.com/330909 | 35 @benchmark.Disabled('android', 'win') # crbug.com/379564, crbug.com/330909 |
| 53 class PageCyclerIntlJaZh(_PageCycler): | 36 class PageCyclerIntlJaZh(benchmark.Benchmark): |
| 37 test = page_cycler.PageCycler |
| 54 page_set = page_sets.IntlJaZhPageSet | 38 page_set = page_sets.IntlJaZhPageSet |
| 39 options = {'pageset_repeat': 10} |
| 55 | 40 |
| 56 | 41 |
| 57 class PageCyclerIntlKoThVi(_PageCycler): | 42 class PageCyclerIntlKoThVi(benchmark.Benchmark): |
| 43 test = page_cycler.PageCycler |
| 58 page_set = page_sets.IntlKoThViPageSet | 44 page_set = page_sets.IntlKoThViPageSet |
| 45 options = {'pageset_repeat': 10} |
| 59 | 46 |
| 60 | 47 |
| 61 class PageCyclerMorejs(_PageCycler): | 48 class PageCyclerMorejs(benchmark.Benchmark): |
| 49 test = page_cycler.PageCycler |
| 62 page_set = page_sets.MorejsPageSet | 50 page_set = page_sets.MorejsPageSet |
| 51 options = {'pageset_repeat': 10} |
| 63 | 52 |
| 64 | 53 |
| 65 class PageCyclerMoz(_PageCycler): | 54 class PageCyclerMoz(benchmark.Benchmark): |
| 55 test = page_cycler.PageCycler |
| 66 page_set = page_sets.MozPageSet | 56 page_set = page_sets.MozPageSet |
| 57 options = {'pageset_repeat': 10} |
| 67 | 58 |
| 68 | 59 |
| 69 @benchmark.Disabled('linux', 'win') # crbug.com/353260 | 60 @benchmark.Disabled('linux', 'win') # crbug.com/353260 |
| 70 class PageCyclerNetsimTop10(_PageCycler): | 61 class PageCyclerNetsimTop10(benchmark.Benchmark): |
| 71 """Measures load time of the top 10 sites under simulated cable network.""" | 62 """Measures load time of the top 10 sites under simulated cable network.""" |
| 72 tag = 'netsim' | 63 tag = 'netsim' |
| 64 test = page_cycler.PageCycler |
| 73 page_set = page_sets.Top10PageSet | 65 page_set = page_sets.Top10PageSet |
| 74 options = { | 66 options = { |
| 75 'cold_load_percent': 100, | 67 'cold_load_percent': 100, |
| 76 'extra_wpr_args_as_string': '--shaping_type=proxy --net=cable', | 68 'extra_wpr_args_as_string': '--shaping_type=proxy --net=cable', |
| 77 'pageset_repeat': 5, | 69 'pageset_repeat': 5, |
| 78 } | 70 } |
| 79 | 71 |
| 80 def __init__(self): | 72 def __init__(self): |
| 81 super(PageCyclerNetsimTop10, self).__init__() | 73 super(PageCyclerNetsimTop10, self).__init__() |
| 82 # TODO: This isn't quite right. | 74 # TODO: This isn't quite right. |
| 83 # This option will still apply to page cyclers that run after this one. | 75 # This option will still apply to page cyclers that run after this one. |
| 84 self.test.clear_cache_before_each_run = True | 76 self.test.clear_cache_before_each_run = True |
| 85 | 77 |
| 86 | 78 |
| 87 @benchmark.Enabled('android') | 79 @benchmark.Enabled('android') |
| 88 class PageCyclerTop10Mobile(_PageCycler): | 80 class PageCyclerTop10Mobile(benchmark.Benchmark): |
| 81 test = page_cycler.PageCycler |
| 89 page_set = page_sets.Top10MobilePageSet | 82 page_set = page_sets.Top10MobilePageSet |
| 83 options = {'pageset_repeat': 10} |
| 90 | 84 |
| 91 | 85 |
| 92 @benchmark.Disabled | 86 @benchmark.Disabled |
| 93 class PageCyclerKeyMobileSites(_PageCycler): | 87 class PageCyclerKeyMobileSites(benchmark.Benchmark): |
| 88 test = page_cycler.PageCycler |
| 94 page_set = page_sets.KeyMobileSitesPageSet | 89 page_set = page_sets.KeyMobileSitesPageSet |
| 90 options = {'pageset_repeat': 10} |
| 95 | 91 |
| 96 | 92 |
| 97 @benchmark.Disabled('android') # crbug.com/357326 | 93 @benchmark.Disabled('android') # crbug.com/357326 |
| 98 class PageCyclerToughLayoutCases(_PageCycler): | 94 class PageCyclerToughLayoutCases(benchmark.Benchmark): |
| 95 test = page_cycler.PageCycler |
| 99 page_set = page_sets.ToughLayoutCasesPageSet | 96 page_set = page_sets.ToughLayoutCasesPageSet |
| 97 options = {'pageset_repeat': 10} |
| 100 | 98 |
| 101 | 99 |
| 102 # crbug.com/273986: This test is really flakey on xp. | 100 # crbug.com/273986: This test is really flakey on xp. |
| 103 # cabug.com/341843: This test is always timing out on Android. | 101 # cabug.com/341843: This test is always timing out on Android. |
| 104 @benchmark.Disabled('android', 'win') | 102 @benchmark.Disabled('android', 'win') |
| 105 class PageCyclerTypical25(_PageCycler): | 103 class PageCyclerTypical25(benchmark.Benchmark): |
| 104 test = page_cycler.PageCycler |
| 106 page_set = page_sets.Typical25PageSet | 105 page_set = page_sets.Typical25PageSet |
| 106 options = {'pageset_repeat': 10} |
| OLD | NEW |