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

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

Issue 19772005: [telemetry] Timeline model cleanups (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 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/tracing/trace_event_importer.py b/tools/telemetry/telemetry/core/timeline/trace_event_importer.py
similarity index 94%
rename from tools/telemetry/telemetry/core/timeline/tracing/trace_event_importer.py
rename to tools/telemetry/telemetry/core/timeline/trace_event_importer.py
index 636ac200de896e84aa1a46dda0f455a4a14ec36a..2b191d420b3345c30c61fd19e41c86c1873b9b62 100644
--- a/tools/telemetry/telemetry/core/timeline/tracing/trace_event_importer.py
+++ b/tools/telemetry/telemetry/core/timeline/trace_event_importer.py
@@ -12,15 +12,13 @@ import json
import re
from telemetry.core.timeline import importer
-import telemetry.core.timeline.tracing.async_slice as tracing_async_slice
-import telemetry.core.timeline.tracing.process as tracing_process
+import telemetry.core.timeline.async_slice as tracing_async_slice
class TraceEventTimelineImporter(importer.TimelineImporter):
def __init__(self, model, event_data):
super(TraceEventTimelineImporter, self).__init__(
model, event_data, import_priority=1)
- self._processes = {}
self._events_were_from_string = False
self._all_async_events = []
self._all_object_events = []
@@ -83,9 +81,7 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
return False
def _GetOrCreateProcess(self, pid):
- if pid not in self._processes:
- self._processes[pid] = tracing_process.Process(pid)
- return self._processes[pid]
+ return self._model.GetOrCreateProcess(pid)
def _DeepCopyIfNeeded(self, obj):
if self._events_were_from_string:
@@ -236,23 +232,15 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
def FinalizeImport(self):
'''Called by the Model after all other importers have imported their
events.'''
- # Add all top level process events to the model.
- for process in self._processes.itervalues():
- self._model.AddEvent(process)
self._model.UpdateBounds()
- # Autoclose all open slices
- for process in self._processes.itervalues():
- for thread in process.threads:
- thread.AutoCloseOpenSlices(max_timestamp=self._model.max_timestamp)
-
# We need to reupdate the bounds in case the minimum start time changes
self._model.UpdateBounds()
self._CreateAsyncSlices()
self._CreateExplicitObjects()
self._CreateImplicitObjects()
- for process in self._processes.itervalues():
+ for process in self._model.processes.itervalues():
process.FinalizeImport()
def _CreateAsyncSlices(self):
@@ -312,8 +300,7 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
async_slice = tracing_async_slice.AsyncSlice(
events[0]['event']['cat'],
name,
- events[0]['event']['ts'] / 1000.0,
- parent=self)
+ events[0]['event']['ts'] / 1000.0)
async_slice.duration = ((event['ts'] / 1000.0)
- (events[0]['event']['ts'] / 1000.0))
@@ -332,6 +319,7 @@ class TraceEventTimelineImporter(importer.TimelineImporter):
events[0]['event']['cat'],
sub_name,
events[j - 1]['event']['ts'] / 1000.0)
+ sub_slice.parent_slice = async_slice
sub_slice.duration = ((events[j]['event']['ts'] / 1000.0)
- (events[j - 1]['event']['ts'] / 1000.0))

Powered by Google App Engine
This is Rietveld 408576698