OLD | NEW |
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 Loading... |
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 Loading... |
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) |
OLD | NEW |