Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Unified Diff: tools/telemetry/telemetry/web_perf/timeline_based_measurement.py

Issue 439383002: Add GetThreadToInteractionRecordsMapsFromModel method to timeline_interaction_record. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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):

Powered by Google App Engine
This is Rietveld 408576698