| Index: tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| diff --git a/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py b/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| index 2b093a7b0f48b365caa2ca2f178fc880911d4d65..0e35d33e01dbb0025ec9e3c6dee38f4bf70bd524 100644
|
| --- a/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| +++ b/tools/telemetry/telemetry/web_perf/timeline_based_measurement.py
|
| @@ -65,18 +65,20 @@ class _ResultsWrapper(object):
|
| self._results.AddValue(value)
|
|
|
| class _TimelineBasedMetrics(object):
|
| - def __init__(self, model, renderer_thread,
|
| - get_metric_from_metric_type_callback):
|
| + def __init__(self, model, get_metric_from_metric_type_callback):
|
| self._model = model
|
| - self._renderer_thread = renderer_thread
|
| self._get_metric_from_metric_type_callback = \
|
| get_metric_from_metric_type_callback
|
|
|
| def FindTimelineInteractionRecords(self):
|
| # TODO(nduca): Add support for page-load interaction record.
|
| - return [tir_module.TimelineInteractionRecord.FromAsyncEvent(event) for
|
| - event in self._renderer_thread.async_slices
|
| - if tir_module.IsTimelineInteractionRecord(event.name)]
|
| + threads_to_records_map = (
|
| + tir_module.GetThreadToInteractionRecordsMapsFromModel(self._model))
|
| + #TODO(nednguyen) support multiple records on multiple threads
|
| + assert len(threads_to_records_map) == 1, (
|
| + 'TimelineBasedMeasurement only support interaction records issued'
|
| + ' from a single thread.')
|
| + return threads_to_records_map.values[0]
|
|
|
| def AddResults(self, results):
|
| all_interactions = self.FindTimelineInteractionRecords()
|
| @@ -108,8 +110,7 @@ class _TimelineBasedMetrics(object):
|
| raise InvalidInteractions('Interaction records with the same logical '
|
| 'name must have the same flags.')
|
| metric = self._get_metric_from_metric_type_callback(metric_type)
|
| - metric.AddResults(self._model, self._renderer_thread,
|
| - interactions, wrapped_results)
|
| + metric.AddResults(self._model, interactions, wrapped_results)
|
|
|
|
|
| class TimelineBasedMeasurement(page_measurement.PageMeasurement):
|
| @@ -180,9 +181,7 @@ class TimelineBasedMeasurement(page_measurement.PageMeasurement):
|
| logging.error('Cannot open %s. %s' % (trace_file_path, e))
|
|
|
| model = model_module.TimelineModel(trace_result)
|
| - renderer_thread = model.GetRendererThreadFromTabId(tab.id)
|
| - meta_metrics = _TimelineBasedMetrics(
|
| - model, renderer_thread, _GetMetricFromMetricType)
|
| + meta_metrics = _TimelineBasedMetrics(model, _GetMetricFromMetricType)
|
| meta_metrics.AddResults(results)
|
|
|
| def CleanUpAfterPage(self, page, tab):
|
|
|