| OLD | NEW |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 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 from metrics import loading | 4 from metrics import loading |
| 5 from metrics import smoothness | 5 from metrics import smoothness |
| 6 from metrics.benchmark_stats import MakeBenchmarkStats |
| 6 from telemetry.page import page_measurement | 7 from telemetry.page import page_measurement |
| 7 | 8 |
| 8 class DidNotScrollException(page_measurement.MeasurementFailure): | 9 class DidNotScrollException(page_measurement.MeasurementFailure): |
| 9 def __init__(self): | 10 def __init__(self): |
| 10 super(DidNotScrollException, self).__init__('Page did not scroll') | 11 super(DidNotScrollException, self).__init__('Page did not scroll') |
| 11 | 12 |
| 12 class MissingDisplayFrameRate(page_measurement.MeasurementFailure): | 13 class MissingDisplayFrameRate(page_measurement.MeasurementFailure): |
| 13 def __init__(self, name): | 14 def __init__(self, name): |
| 14 super(MissingDisplayFrameRate, self).__init__( | 15 super(MissingDisplayFrameRate, self).__init__( |
| 15 'Missing display frame rate metrics: ' + name) | 16 'Missing display frame rate metrics: ' + name) |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 | 53 |
| 53 def MeasurePage(self, page, tab, results): | 54 def MeasurePage(self, page, tab, results): |
| 54 rendering_stats_deltas = self._metrics.deltas | 55 rendering_stats_deltas = self._metrics.deltas |
| 55 | 56 |
| 56 if not (rendering_stats_deltas['numFramesSentToScreen'] > 0): | 57 if not (rendering_stats_deltas['numFramesSentToScreen'] > 0): |
| 57 raise DidNotScrollException() | 58 raise DidNotScrollException() |
| 58 | 59 |
| 59 loading.AddResultsForTab(tab, results) | 60 loading.AddResultsForTab(tab, results) |
| 60 | 61 |
| 61 smoothness.CalcFirstPaintTimeResults(results, tab) | 62 smoothness.CalcFirstPaintTimeResults(results, tab) |
| 62 smoothness.CalcScrollResults(rendering_stats_deltas, results) | 63 |
| 63 smoothness.CalcTextureUploadResults(rendering_stats_deltas, results) | 64 benchmark_stats = MakeBenchmarkStats(rendering_stats_deltas) |
| 64 smoothness.CalcImageDecodingResults(rendering_stats_deltas, results) | 65 smoothness.CalcResults(benchmark_stats, results) |
| 65 smoothness.CalcAnalysisResults(rendering_stats_deltas, results) | |
| 66 smoothness.CalcLatencyResults(rendering_stats_deltas, results) | |
| 67 | 66 |
| 68 if self.options.report_all_results: | 67 if self.options.report_all_results: |
| 69 for k, v in rendering_stats_deltas.iteritems(): | 68 for k, v in rendering_stats_deltas.iteritems(): |
| 70 results.Add(k, '', v) | 69 results.Add(k, '', v) |
| 71 | 70 |
| 72 if tab.browser.platform.IsRawDisplayFrameRateSupported(): | 71 if tab.browser.platform.IsRawDisplayFrameRateSupported(): |
| 73 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): | 72 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): |
| 74 if r.value is None: | 73 if r.value is None: |
| 75 raise MissingDisplayFrameRate(r.name) | 74 raise MissingDisplayFrameRate(r.name) |
| 76 results.Add(r.name, r.unit, r.value) | 75 results.Add(r.name, r.unit, r.value) |
| OLD | NEW |