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

Side by Side Diff: tools/perf/measurements/tab_switching.py

Issue 2766533002: Using multi-tab story in TabSwitching Benchmark (Closed)
Patch Set: Use the new story for TabSwitching Benchmark Created 3 years, 9 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 | « tools/perf/benchmarks/tab_switching.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 """The tab switching measurement. 5 """The tab switching measurement.
6 6
7 This measurement opens pages in different tabs. After all the tabs have opened, 7 This measurement opens pages in different tabs. After all the tabs have opened,
8 it cycles through each tab in sequence, and records a histogram of the time 8 it cycles through each tab in sequence, and records a histogram of the time
9 between when a tab was first requested to be shown, and when it was painted. 9 between when a tab was first requested to be shown, and when it was painted.
10 Power usage is also measured. 10 Power usage is also measured.
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 results.AddSummaryValue( 114 results.AddSummaryValue(
115 histogram.HistogramValue(None, display_name, 'ms', 115 histogram.HistogramValue(None, display_name, 'ms',
116 raw_value_json=total_diff_histogram, 116 raw_value_json=total_diff_histogram,
117 important=False)) 117 important=False))
118 118
119 keychain_metric.KeychainMetric().AddResults(tab, results) 119 keychain_metric.KeychainMetric().AddResults(tab, results)
120 120
121 def DidRunPage(self, platform): 121 def DidRunPage(self, platform):
122 del platform # unused 122 del platform # unused
123 self._power_metric.Close() 123 self._power_metric.Close()
124
125 class TabSwitching2(legacy_page_test.LegacyPageTest):
126 # Amount of time to measure, in seconds.
127 SAMPLE_TIME = 30
128
129 def __init__(self):
130 super(TabSwitching2, self).__init__()
131 self._power_metric = None
132 self._first_histogram = None
133
134 def CustomizeBrowserOptions(self, options):
135 keychain_metric.KeychainMetric.CustomizeBrowserOptions(options)
136
137 options.AppendExtraBrowserArgs(['--enable-stats-collection-bindings'])
138
139 # Enable background networking so we can test its impact on power usage.
140 options.disable_background_networking = False
141 power.PowerMetric.CustomizeBrowserOptions(options)
142
143 def WillStartBrowser(self, platform):
144 self._power_metric = power.PowerMetric(platform, TabSwitching.SAMPLE_TIME)
145
146 @classmethod
147 def _GetTabSwitchHistogram(cls, tab_to_switch):
148 histogram_name = 'MPArch.RWH_TabSwitchPaintDuration'
149 histogram_type = histogram_util.BROWSER_HISTOGRAM
150 return histogram_util.GetHistogram(
151 histogram_type, histogram_name, tab_to_switch)
152
153 def DidNavigateToPage(self, page, tab):
154 """record the starting histogram"""
155 self._first_histogram = self._GetTabSwitchHistogram(tab)
156
157 def ValidateAndMeasurePage(self, page, tab, results):
158 """record the ending histogram for the tab switching metric."""
159 if tab.browser.platform.CanMonitorPower():
160 self._power_metric.Start(page, tab)
161 time.sleep(TabSwitching.SAMPLE_TIME)
162 self._power_metric.Stop(page, tab)
163 self._power_metric.AddResults(tab, results,)
164
165 last_histogram = self._GetTabSwitchHistogram(tab)
166 total_diff_histogram = histogram_util.SubtractHistogram(last_histogram,
167 self._first_histogram)
168
169 display_name = 'MPArch_RWH_TabSwitchPaintDuration'
170 results.AddSummaryValue(
171 histogram.HistogramValue(None, display_name, 'ms',
172 raw_value_json=total_diff_histogram,
173 important=False))
174
175 keychain_metric.KeychainMetric().AddResults(tab, results)
176
177 def DidRunPage(self, platform):
178 del platform # unused
179 self._power_metric.Close()
nednguyen 2017/03/21 14:46:12 Can you remove the legacy power_metric? The old po
vovoy 2017/03/23 09:37:49 Done.
180
OLDNEW
« no previous file with comments | « tools/perf/benchmarks/tab_switching.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698