Index: tools/telemetry/telemetry/inspector_timeline.py |
diff --git a/tools/telemetry/telemetry/inspector_timeline.py b/tools/telemetry/telemetry/inspector_timeline.py |
deleted file mode 100644 |
index 633aefced78bd81ffa1f7cd9825e41f6f7c41182..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/inspector_timeline.py |
+++ /dev/null |
@@ -1,121 +0,0 @@ |
-# Copyright (c) 2012 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_event import TimelineEvent |
-from telemetry.timeline_model import TimelineModel |
- |
-class TabBackendException(Exception): |
- pass |
- |
-class InspectorTimeline(object): |
- """Implementation of dev tools timeline.""" |
- class Recorder(object): |
- """Utility class to Start / Stop recording timeline.""" |
- def __init__(self, tab): |
- self._tab = tab |
- |
- def __enter__(self): |
- self._tab.StartTimelineRecording() |
- |
- def __exit__(self, *args): |
- self._tab.StopTimelineRecording() |
- |
- def __init__(self, inspector_backend): |
- self._inspector_backend = inspector_backend |
- self._is_recording = False |
- self._timeline_model = None |
- |
- @property |
- def timeline_model(self): |
- return self._timeline_model |
- |
- def Start(self): |
- if self._is_recording: |
- return |
- self._is_recording = True |
- self._timeline_model = TimelineModel() |
- self._inspector_backend.RegisterDomain('Timeline', |
- self._OnNotification, self._OnClose) |
- req = {'method': 'Timeline.start'} |
- self._SendSyncRequest(req) |
- |
- def Stop(self): |
- if not self._is_recording: |
- raise TabBackendException('Stop() called but not started') |
- self._is_recording = False |
- self._timeline_model.DidFinishRecording() |
- req = {'method': 'Timeline.stop'} |
- self._SendSyncRequest(req) |
- self._inspector_backend.UnregisterDomain('Timeline') |
- |
- def _SendSyncRequest(self, req, timeout=60): |
- res = self._inspector_backend.SyncRequest(req, timeout) |
- if 'error' in res: |
- raise TabBackendException(res['error']['message']) |
- return res['result'] |
- |
- def _OnNotification(self, msg): |
- if not self._is_recording: |
- return |
- if 'method' in msg and msg['method'] == 'Timeline.eventRecorded': |
- self._OnEventRecorded(msg) |
- |
- def _OnEventRecorded(self, msg): |
- record = msg.get('params', {}).get('record') |
- if record: |
- newly_created_event = InspectorTimeline.RawEventToTimelineEvent(record) |
- if newly_created_event: |
- self._timeline_model.AddEvent(newly_created_event) |
- |
- @staticmethod |
- def RawEventToTimelineEvent(raw_inspector_event): |
- """Converts raw_inspector_event to TimelineEvent.""" |
- return InspectorTimeline._RawEventToTimelineEventRecursive( |
- None, raw_inspector_event) |
- |
- @staticmethod |
- def _RawEventToTimelineEventRecursive( |
- parent_for_created_events, raw_inspector_event): |
- """ |
- Creates a new TimelineEvent for the raw_inspector_event, if possible, adding |
- it to the provided parent_for_created_events. |
- |
- It then recurses on any child events found inside, building a tree of |
- TimelineEvents. |
- |
- Returns the root of the created tree, or None. |
- """ |
- # Create a TimelineEvent for this raw_inspector_event if possible. Only |
- # events with start-time and end-time get imported. |
- if ('startTime' in raw_inspector_event and |
- 'endTime' in raw_inspector_event): |
- args = {} |
- for x in raw_inspector_event: |
- if x in ('startTime', 'endTime', 'children'): |
- continue |
- args[x] = raw_inspector_event[x] |
- if len(args) == 0: |
- args = None |
- newly_created_event = TimelineEvent( |
- name=raw_inspector_event['type'], |
- start_time_ms=raw_inspector_event['startTime'], |
- duration_ms=(raw_inspector_event['endTime'] - |
- raw_inspector_event['startTime']), |
- args=args) |
- if parent_for_created_events: |
- parent_for_created_events.children.append(newly_created_event) |
- else: |
- newly_created_event = None |
- |
- # Process any children events, creating TimelineEvents for them as well. |
- if newly_created_event: |
- parent_for_children = newly_created_event |
- else: |
- parent_for_children = parent_for_created_events |
- for child in raw_inspector_event.get('children', []): |
- InspectorTimeline._RawEventToTimelineEventRecursive( |
- parent_for_children, child) |
- return newly_created_event |
- |
- def _OnClose(self): |
- pass |