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): |