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