| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 core import perf_benchmark | 5 from core import perf_benchmark |
| 6 | 6 |
| 7 import ct_benchmarks_util | 7 import ct_benchmarks_util |
| 8 import page_sets | 8 import page_sets |
| 9 from telemetry import benchmark | 9 from telemetry import benchmark |
| 10 from telemetry.core import discover | 10 from telemetry.core import discover |
| 11 from telemetry import story | 11 from telemetry import story |
| 12 | 12 |
| 13 from measurements import skpicture_printer | 13 from measurements import multipage_skpicture_printer |
| 14 | 14 |
| 15 | 15 |
| 16 def _MatchPageSetName(story_set_name, story_set_base_dir): | 16 def _MatchPageSetName(story_set_name, story_set_base_dir): |
| 17 story_sets = discover.DiscoverClasses(story_set_base_dir, story_set_base_dir, | 17 story_sets = discover.DiscoverClasses(story_set_base_dir, story_set_base_dir, |
| 18 story.StorySet).values() | 18 story.StorySet).values() |
| 19 for s in story_sets: | 19 for s in story_sets: |
| 20 if story_set_name == s.Name(): | 20 if story_set_name == s.Name(): |
| 21 return s | 21 return s |
| 22 return None | 22 return None |
| 23 | 23 |
| 24 | 24 |
| 25 # Disabled because we do not plan on running this mSKP benchmark on the perf |
| 26 # waterfall any time soon. |
| 25 @benchmark.Disabled('all') | 27 @benchmark.Disabled('all') |
| 26 class SkpicturePrinter(perf_benchmark.PerfBenchmark): | 28 class MultipageSkpicturePrinter(perf_benchmark.PerfBenchmark): |
| 27 | 29 |
| 28 @classmethod | 30 @classmethod |
| 29 def AddBenchmarkCommandLineArgs(cls, parser): | 31 def AddBenchmarkCommandLineArgs(cls, parser): |
| 30 parser.add_option('--page-set-name', action='store', type='string') | 32 parser.add_option('--page-set-name', action='store', type='string') |
| 31 parser.add_option('--page-set-base-dir', action='store', type='string') | 33 parser.add_option('--page-set-base-dir', action='store', type='string') |
| 32 parser.add_option('-s', '--skp-outdir', | 34 parser.add_option('-m', '--mskp-outdir', |
| 33 help='Output directory for the SKP files') | 35 help='Output directory for the mSKP files') |
| 34 | 36 |
| 35 @classmethod | 37 @classmethod |
| 36 def ProcessCommandLineArgs(cls, parser, args): | 38 def ProcessCommandLineArgs(cls, parser, args): |
| 37 if not args.page_set_name: | 39 if not args.page_set_name: |
| 38 parser.error('Please specify --page-set-name') | 40 parser.error('Please specify --page-set-name') |
| 39 if not args.page_set_base_dir: | 41 if not args.page_set_base_dir: |
| 40 parser.error('Please specify --page-set-base-dir') | 42 parser.error('Please specify --page-set-base-dir') |
| 41 if not args.skp_outdir: | 43 if not args.mskp_outdir: |
| 42 parser.error('Please specify --skp-outdir') | 44 parser.error('Please specify --mskp-outdir') |
| 43 | 45 |
| 44 @classmethod | 46 @classmethod |
| 45 def Name(cls): | 47 def Name(cls): |
| 46 return 'skpicture_printer' | 48 return 'multipage_skpicture_printer' |
| 47 | 49 |
| 48 def CreatePageTest(self, options): | 50 def CreatePageTest(self, options): |
| 49 return skpicture_printer.SkpicturePrinter(options.skp_outdir) | 51 return multipage_skpicture_printer.MultipageSkpicturePrinter( |
| 52 options.mskp_outdir) |
| 50 | 53 |
| 51 def CreateStorySet(self, options): | 54 def CreateStorySet(self, options): |
| 52 story_set_class = _MatchPageSetName(options.page_set_name, | 55 story_set_class = _MatchPageSetName(options.page_set_name, |
| 53 options.page_set_base_dir) | 56 options.page_set_base_dir) |
| 54 return story_set_class() | 57 return story_set_class() |
| 55 | 58 |
| 56 | 59 |
| 57 # Disabled because we do not plan on running CT benchmarks on the perf | 60 # Disabled because we do not plan on running CT benchmarks on the perf |
| 58 # waterfall any time soon. | 61 # waterfall any time soon. |
| 59 @benchmark.Disabled('all') | 62 @benchmark.Disabled('all') |
| 60 class SkpicturePrinterCT(perf_benchmark.PerfBenchmark): | 63 class MultipageSkpicturePrinterCT(perf_benchmark.PerfBenchmark): |
| 61 """Captures SKPs for Cluster Telemetry.""" | 64 """Captures mSKPs for Cluster Telemetry.""" |
| 62 | 65 |
| 63 @classmethod | 66 @classmethod |
| 64 def Name(cls): | 67 def Name(cls): |
| 65 return 'skpicture_printer_ct' | 68 return 'multipage_skpicture_printer_ct' |
| 66 | 69 |
| 67 @classmethod | 70 @classmethod |
| 68 def AddBenchmarkCommandLineArgs(cls, parser): | 71 def AddBenchmarkCommandLineArgs(cls, parser): |
| 69 ct_benchmarks_util.AddBenchmarkCommandLineArgs(parser) | 72 ct_benchmarks_util.AddBenchmarkCommandLineArgs(parser) |
| 70 parser.add_option('-s', '--skp-outdir', | 73 parser.add_option('-m', '--mskp-outdir', |
| 71 default=None, | 74 default=None, |
| 72 help='Output directory for the SKP files') | 75 help='Output directory for the mSKP files') |
| 73 | 76 |
| 74 @classmethod | 77 @classmethod |
| 75 def ProcessCommandLineArgs(cls, parser, args): | 78 def ProcessCommandLineArgs(cls, parser, args): |
| 76 ct_benchmarks_util.ValidateCommandLineArgs(parser, args) | 79 ct_benchmarks_util.ValidateCommandLineArgs(parser, args) |
| 77 | 80 |
| 78 def CreatePageTest(self, options): | 81 def CreatePageTest(self, options): |
| 79 return skpicture_printer.SkpicturePrinter(options.skp_outdir) | 82 return multipage_skpicture_printer.MultipageSkpicturePrinter( |
| 83 options.mskp_outdir) |
| 80 | 84 |
| 81 def CreateStorySet(self, options): | 85 def CreateStorySet(self, options): |
| 82 return page_sets.CTPageSet( | 86 return page_sets.CTPageSet( |
| 83 options.urls_list, options.user_agent, options.archive_data_file) | 87 options.urls_list, options.user_agent, options.archive_data_file) |
| OLD | NEW |