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

Unified Diff: tools/telemetry/telemetry/core/timeline/trace_event_importer.py

Issue 309533016: Remove the weak dictionary that maps tab objects to it markers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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/core/timeline/trace_event_importer.py
diff --git a/tools/telemetry/telemetry/core/timeline/trace_event_importer.py b/tools/telemetry/telemetry/core/timeline/trace_event_importer.py
index 207f157d38a0d904f374a6b7f01d53da8e7543b1..5a31bf93e522768a00b989bd0d3aea2b2e8627dd 100644
--- a/tools/telemetry/telemetry/core/timeline/trace_event_importer.py
+++ b/tools/telemetry/telemetry/core/timeline/trace_event_importer.py
@@ -16,6 +16,7 @@ from telemetry.core.timeline import importer
import telemetry.core.timeline.async_slice as tracing_async_slice
import telemetry.core.timeline.flow_event as tracing_flow_event
+
class TraceEventTimelineImporter(importer.TimelineImporter):
def __init__(self, model, timeline_data):
super(TraceEventTimelineImporter, self).__init__(
@@ -58,7 +59,7 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
# Any other fields in the container should be treated as metadata.
self._model.metadata.append({
'name' : field_name,
- 'value' : container['field_name']})
+ 'value' : container[field_name]})
@staticmethod
def CanImport(timeline_data):
@@ -275,10 +276,10 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
self._model.UpdateBounds()
self._CreateAsyncSlices()
self._CreateFlowSlices()
+ self._SetBrowserProcess()
self._CreateExplicitObjects()
self._CreateImplicitObjects()
-
- self._timeline_data.AugmentTimelineModel(self._model)
+ self._CreateTabIdsToThreadsMap()
def _CreateAsyncSlices(self):
if len(self._all_async_events) == 0:
@@ -445,3 +446,22 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
else:
# Make this event the next start event in this flow.
flow_id_to_event[event['id']] = flow_event
+
+ def _SetBrowserProcess(self):
+ for thread in self._model.GetAllThreads():
+ if thread.name == 'CrBrowserMain':
+ self._model.browser_process = thread.parent
+
+ def _CreateTabIdsToThreadsMap(self):
+ tab_ids_list = []
+ for metadata in self._model.metadata:
+ if metadata['name'] == 'tabIds':
+ tab_ids_list = metadata['value']
+ break
+ for tab_id in tab_ids_list:
+ timeline_markers = self._model.FindTimelineMarkers(tab_id)
+ assert(len(timeline_markers) == 1)
+ assert(timeline_markers[0].start_thread ==
+ timeline_markers[0].end_thread)
+ self._model.AddMappingFromTabIdToRendererThread(
+ tab_id, timeline_markers[0].start_thread)

Powered by Google App Engine
This is Rietveld 408576698