| Index: tools/perf/measurements/smoothness_controller.py
|
| diff --git a/tools/perf/measurements/smoothness_controller.py b/tools/perf/measurements/smoothness_controller.py
|
| index c80834fcbfe7ef2c3da6b086fa231600ff41574f..3479331ef0d158a3321bc0022fe18877ebac28b5 100644
|
| --- a/tools/perf/measurements/smoothness_controller.py
|
| +++ b/tools/perf/measurements/smoothness_controller.py
|
| @@ -1,6 +1,7 @@
|
| # Copyright 2014 The Chromium Authors. All rights reserved.
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
| +import sys
|
|
|
| from measurements import smooth_gesture_util
|
| from metrics import smoothness
|
| @@ -21,6 +22,7 @@ class MissingDisplayFrameRateError(page_measurement.MeasurementFailure):
|
| class SmoothnessController(object):
|
| def __init__(self):
|
| self._timeline_model = None
|
| + self._tracing_timeline_data = None
|
|
|
| def Start(self, page, tab):
|
| custom_categories = ['webkit.console', 'benchmark']
|
| @@ -39,8 +41,9 @@ class SmoothnessController(object):
|
| # Stop tracing for smoothness metric.
|
| if tab.browser.platform.IsRawDisplayFrameRateSupported():
|
| tab.browser.platform.StopRawDisplayFrameRateMeasurement()
|
| - tracing_timeline_data = tab.browser.StopTracing()
|
| - self._timeline_model = TimelineModel(timeline_data=tracing_timeline_data)
|
| + self._tracing_timeline_data = tab.browser.StopTracing()
|
| + self._timeline_model = TimelineModel(
|
| + timeline_data=self._tracing_timeline_data)
|
|
|
| def AddResults(self, tab, results):
|
| # Add results of smoothness metric. This computes the smoothness metric for
|
| @@ -69,10 +72,14 @@ class SmoothnessController(object):
|
| # TODO(nednguyen): when crbug.com/239179 is marked fixed, makes sure that
|
| # page sets are responsible for issueing the markers themselves.
|
| if len(smooth_records) == 0:
|
| - assert run_smooth_actions_record, (
|
| - 'SmoothnessController fails to issue markers for the whole '
|
| - 'interaction.')
|
| - smooth_records = [run_smooth_actions_record]
|
| + if run_smooth_actions_record is None:
|
| + sys.stderr.write('Raw tracing data:\n')
|
| + sys.stderr.write(repr(self._tracing_timeline_data.EventData()))
|
| + sys.stderr.write('\n')
|
| + raise Exception('SmoothnessController failed to issue markers for the '
|
| + 'whole interaction.')
|
| + else:
|
| + smooth_records = [run_smooth_actions_record]
|
|
|
| # Create an interaction_record for this legacy measurement. Since we don't
|
| # wrap the results that is sent to smoothnes metric, the logical_name will
|
|
|