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

Unified Diff: tools/telemetry/telemetry/timeline/surface_flinger_importer.py

Issue 804413002: Revert of Revert of telemetry: Clean up SurfaceFlinger statistics (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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/timeline/surface_flinger_importer.py
diff --git a/tools/telemetry/telemetry/timeline/surface_flinger_importer.py b/tools/telemetry/telemetry/timeline/surface_flinger_importer.py
new file mode 100644
index 0000000000000000000000000000000000000000..8995c8e82ad027d49e425ba6f3a2c30b443d9af4
--- /dev/null
+++ b/tools/telemetry/telemetry/timeline/surface_flinger_importer.py
@@ -0,0 +1,39 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from telemetry.timeline import importer
+from telemetry.timeline import surface_flinger_timeline_data
+
+class SurfaceFlingerTimelineImporter(importer.TimelineImporter):
+ def __init__(self, model, timeline_data):
+ super(SurfaceFlingerTimelineImporter, self).__init__(
+ model, timeline_data, import_priority=2)
+ self._events = timeline_data.EventData()
+ self._surface_flinger_process = None
+
+ @staticmethod
+ def CanImport(timeline_data):
+ if isinstance(timeline_data,
+ surface_flinger_timeline_data.SurfaceFlingerTimelineData):
+ return True
+
+ return False
+
+ def ImportEvents(self):
+ for event in self._events:
+ self._surface_flinger_process = self._model.GetOrCreateProcess(
+ event['pid'])
+ self._surface_flinger_process.name = 'SurfaceFlinger'
+ thread = self._surface_flinger_process.GetOrCreateThread(event['tid'])
+ thread.BeginSlice(event['cat'],
+ event['name'],
+ event['ts'],
+ args=event.get('args'))
+ thread.EndSlice(event['ts'])
+
+ def FinalizeImport(self):
+ '''Called by the Model after all other importers have imported their
+ events.'''
+ self._model.UpdateBounds()
+ self._model.surface_flinger_process = self._surface_flinger_process
« no previous file with comments | « tools/telemetry/telemetry/timeline/model.py ('k') | tools/telemetry/telemetry/timeline/surface_flinger_timeline_data.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698