Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: tools/perf/benchmarks/oopif.py

Issue 2884383006: [Telemetry] Split Oopif page_cycler_v2 benchmarks into their own file. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/perf/benchmarks/page_cycler_v2.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 # found in the LICENSE file.
4
5 """The page cycler v2.
6
7 For details, see design doc:
8 https://docs.google.com/document/d/1EZQX-x3eEphXupiX-Hq7T4Afju5_sIdxPWYetj7ynd0
9 """
10
11 from core import perf_benchmark
12 import page_sets
13
14 from telemetry import benchmark
15 from telemetry.page import cache_temperature
16 from telemetry.web_perf import timeline_based_measurement
17
18
19 def AugmentOptionsForLoadingMetrics(tbm_options):
nednguyen 2017/05/18 23:28:21 if this is moved to loading.py, can we reuse it in
20 cat_filter = tbm_options.config.chrome_trace_config.category_filter
21
22 # "blink.console" is used for marking ranges in
23 # cache_temperature.MarkTelemetryInternal.
24 cat_filter.AddIncludedCategory('blink.console')
25
26 # "navigation" and "blink.user_timing" are needed to capture core
27 # navigation events.
28 cat_filter.AddIncludedCategory('navigation')
29 cat_filter.AddIncludedCategory('blink.user_timing')
30
31 # "loading" is needed for first-meaningful-paint computation.
32 cat_filter.AddIncludedCategory('loading')
33
34 # "toplevel" category is used to capture TaskQueueManager events
35 # necessary to compute time-to-interactive.
36 cat_filter.AddIncludedCategory('toplevel')
37
38 tbm_options.AddTimelineBasedMetric('loadingMetric')
39 return tbm_options
40
41
42 class _OopifBase(perf_benchmark.PerfBenchmark):
43 options = {'pageset_repeat': 2}
44
45 def CreateTimelineBasedMeasurementOptions(self):
46 tbm_options = timeline_based_measurement.Options()
47 AugmentOptionsForLoadingMetrics(tbm_options)
48 return tbm_options
49
50 @classmethod
51 def ShouldDisable(cls, possible_browser):
52 # crbug.com/619254
53 if possible_browser.browser_type == 'reference':
54 return True
55
56 # crbug.com/616781
57 if (cls.IsSvelte(possible_browser) or
58 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X' or
59 possible_browser.platform.GetDeviceTypeName() == 'AOSP on BullHead'):
60 return True
61
62 return False
63
64
65 @benchmark.Disabled('reference', 'android')
66 @benchmark.Owner(emails=['nasko@chromium.org'])
67 class PageCyclerV2BasicOopifIsolated(_OopifBase):
68 """ A benchmark measuring performance of out-of-process iframes. """
69 page_set = page_sets.OopifBasicPageSet
70
71 @classmethod
72 def Name(cls):
73 return 'page_cycler_v2_site_isolation.basic_oopif'
74
75 def SetExtraBrowserOptions(self, options):
76 options.AppendExtraBrowserArgs(['--site-per-process'])
77
78 def CreateStorySet(self, options):
79 return page_sets.OopifBasicPageSet(cache_temperatures=[
80 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM])
81
82
83 @benchmark.Disabled('android')
84 @benchmark.Owner(emails=['nasko@chromium.org'])
85 class PageCyclerV2BasicOopif(_OopifBase):
86 """ A benchmark measuring performance of the out-of-process iframes page
87 set, without running in out-of-process iframes mode.. """
88 page_set = page_sets.OopifBasicPageSet
89
90 @classmethod
91 def Name(cls):
92 return 'page_cycler_v2.basic_oopif'
93
94 def CreateStorySet(self, options):
95 return page_sets.OopifBasicPageSet(cache_temperatures=[
96 cache_temperature.PCV1_COLD, cache_temperature.PCV1_WARM])
OLDNEW
« no previous file with comments | « no previous file | tools/perf/benchmarks/page_cycler_v2.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698