| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from core import perf_benchmark |
| from measurements import startup |
| import page_sets |
| from telemetry import benchmark |
| |
| |
| class _StartWithExt(perf_benchmark.PerfBenchmark): |
| """Base benchmark for testing startup with extensions.""" |
| page_set = page_sets.BlankPageSetWithExtensionProfile |
| tag = None |
| |
| @classmethod |
| def Name(cls): |
| return 'start_with_ext.blank_page' |
| |
| @classmethod |
| def ValueCanBeAddedPredicate(cls, _, is_first_result): |
| return not is_first_result |
| |
| def SetExtraBrowserOptions(self, options): |
| options.disable_default_apps = False |
| |
| def CreatePageTest(self, _): |
| is_cold = (self.tag == 'cold') |
| return startup.Startup(cold=is_cold) |
| |
| |
| @benchmark.Enabled('has tabs') |
| @benchmark.Disabled('mac') # crbug.com/563424 |
| @benchmark.Disabled('win', 'linux', 'reference', 'android') |
| class StartWithExtCold(_StartWithExt): |
| """Measure time to start Chrome cold with extensions.""" |
| options = {'pageset_repeat': 5} |
| tag = 'cold' |
| |
| @classmethod |
| def Name(cls): |
| return 'start_with_ext.cold.blank_page' |
| |
| |
| @benchmark.Enabled('has tabs') |
| @benchmark.Disabled('mac') # crbug.com/563424 |
| @benchmark.Disabled('win', 'linux', 'reference', 'android') |
| class StartWithExtWarm(_StartWithExt): |
| """Measure time to start Chrome warm with extensions.""" |
| options = {'pageset_repeat': 20} |
| tag = 'warm' |
| |
| @classmethod |
| def Name(cls): |
| return 'start_with_ext.warm.blank_page' |
| |