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

Side by Side Diff: tools/perf/perf_tools/smoothness_measurement.py

Issue 14931012: Add support for latency measurement to Telemetry smoothness benchmarks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_widget.cc ('k') | tools/perf/trace-info.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 from perf_tools import smoothness_metrics 4 from perf_tools import smoothness_metrics
5 from telemetry.core import util 5 from telemetry.core import util
6 from telemetry.page import page_measurement 6 from telemetry.page import page_measurement
7 7
8 class DidNotScrollException(page_measurement.MeasurementFailure): 8 class DidNotScrollException(page_measurement.MeasurementFailure):
9 def __init__(self): 9 def __init__(self):
10 super(DidNotScrollException, self).__init__('Page did not scroll') 10 super(DidNotScrollException, self).__init__('Page did not scroll')
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 results.Add('total_tiles_analyzed', 'count', 130 results.Add('total_tiles_analyzed', 'count',
131 totalTilesAnalyzed, 131 totalTilesAnalyzed,
132 data_type='unimportant') 132 data_type='unimportant')
133 results.Add('solid_color_tiles_analyzed', 'count', 133 results.Add('solid_color_tiles_analyzed', 'count',
134 solidColorTilesAnalyzed, 134 solidColorTilesAnalyzed,
135 data_type='unimportant') 135 data_type='unimportant')
136 results.Add('average_tile_analysis_time', 'ms', 136 results.Add('average_tile_analysis_time', 'ms',
137 averageAnalysisTimeMS, 137 averageAnalysisTimeMS,
138 data_type='unimportant') 138 data_type='unimportant')
139 139
140 def CalcLatencyResults(rendering_stats_deltas, results):
141 inputEventCount = rendering_stats_deltas.get(
142 'inputEventCount', 0)
143 totalInputLatencyInSeconds = rendering_stats_deltas.get(
144 'totalInputLatency', 0)
145
146 averageLatency = DivideIfPossibleOrZero(
147 (totalInputLatencyInSeconds * 1000), inputEventCount)
148
149 results.Add('average_latency', 'ms', averageLatency,
150 data_type='unimportant')
151
152
140 class SmoothnessMeasurement(page_measurement.PageMeasurement): 153 class SmoothnessMeasurement(page_measurement.PageMeasurement):
141 def __init__(self): 154 def __init__(self):
142 super(SmoothnessMeasurement, self).__init__('smoothness') 155 super(SmoothnessMeasurement, self).__init__('smoothness')
143 self.force_enable_threaded_compositing = False 156 self.force_enable_threaded_compositing = False
144 self.use_gpu_benchmarking_extension = True 157 self.use_gpu_benchmarking_extension = True
145 self._metrics = None 158 self._metrics = None
146 159
147 def AddCommandLineOptions(self, parser): 160 def AddCommandLineOptions(self, parser):
148 parser.add_option('--report-all-results', dest='report_all_results', 161 parser.add_option('--report-all-results', dest='report_all_results',
149 action='store_true', 162 action='store_true',
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 load_timings['navigationStart']) / 1000 201 load_timings['navigationStart']) / 1000
189 results.Add('load_time', 'seconds', load_time_seconds) 202 results.Add('load_time', 'seconds', load_time_seconds)
190 results.Add('dom_content_loaded_time', 'seconds', 203 results.Add('dom_content_loaded_time', 'seconds',
191 dom_content_loaded_time_seconds) 204 dom_content_loaded_time_seconds)
192 205
193 CalcFirstPaintTimeResults(results, tab) 206 CalcFirstPaintTimeResults(results, tab)
194 CalcScrollResults(rendering_stats_deltas, results) 207 CalcScrollResults(rendering_stats_deltas, results)
195 CalcTextureUploadResults(rendering_stats_deltas, results) 208 CalcTextureUploadResults(rendering_stats_deltas, results)
196 CalcImageDecodingResults(rendering_stats_deltas, results) 209 CalcImageDecodingResults(rendering_stats_deltas, results)
197 CalcAnalysisResults(rendering_stats_deltas, results) 210 CalcAnalysisResults(rendering_stats_deltas, results)
211 CalcLatencyResults(rendering_stats_deltas, results)
198 212
199 if self.options.report_all_results: 213 if self.options.report_all_results:
200 for k, v in rendering_stats_deltas.iteritems(): 214 for k, v in rendering_stats_deltas.iteritems():
201 results.Add(k, '', v) 215 results.Add(k, '', v)
202 216
203 if tab.browser.platform.IsRawDisplayFrameRateSupported(): 217 if tab.browser.platform.IsRawDisplayFrameRateSupported():
204 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): 218 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements():
205 results.Add(r.name, r.unit, r.value) 219 results.Add(r.name, r.unit, r.value)
OLDNEW
« no previous file with comments | « content/renderer/render_widget.cc ('k') | tools/perf/trace-info.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698