Index: tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py |
diff --git a/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py b/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py |
index 8a4003d2d543d95e51a9d95581cc845243ad9f25..338f13a8eecfd4a4983b4f79b668a6dfdd20cb06 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py |
@@ -14,11 +14,13 @@ |
from telemetry.core.backends.chrome_inspector import inspector_network |
from telemetry.core.backends.chrome_inspector import inspector_page |
from telemetry.core.backends.chrome_inspector import inspector_runtime |
+from telemetry.core.backends.chrome_inspector import inspector_timeline |
from telemetry.core.backends.chrome_inspector import inspector_websocket |
from telemetry.core.backends.chrome_inspector import websocket |
from telemetry.core.heap import model as heap_model_module |
from telemetry.image_processing import image_util |
from telemetry.timeline import model as timeline_model_module |
+from telemetry.timeline import recording_options |
from telemetry.timeline import trace_data as trace_data_module |
@@ -51,6 +53,7 @@ |
self._page = inspector_page.InspectorPage( |
self._websocket, timeout=timeout) |
self._runtime = inspector_runtime.InspectorRuntime(self._websocket) |
+ self._timeline = inspector_timeline.InspectorTimeline(self._websocket) |
self._network = inspector_network.InspectorNetwork(self._websocket) |
self._timeline_model = None |
@@ -176,17 +179,34 @@ |
def timeline_model(self): |
return self._timeline_model |
- def StartTimelineRecording(self): |
- self._network.timeline_recorder.Start() |
+ def StartTimelineRecording(self, options=None): |
+ if not options: |
+ options = recording_options.TimelineRecordingOptions() |
+ if options.record_timeline: |
+ self._timeline.Start() |
+ if options.record_network: |
+ self._network.timeline_recorder.Start() |
def StopTimelineRecording(self): |
builder = trace_data_module.TraceDataBuilder() |
+ |
+ data = self._timeline.Stop() |
+ if data: |
+ builder.AddEventsTo(trace_data_module.INSPECTOR_TRACE_PART, data) |
data = self._network.timeline_recorder.Stop() |
if data: |
builder.AddEventsTo(trace_data_module.INSPECTOR_TRACE_PART, data) |
- self._timeline_model = timeline_model_module.TimelineModel( |
- builder.AsData(), shift_world_to_zero=False) |
+ |
+ if builder.HasEventsFor(trace_data_module.INSPECTOR_TRACE_PART): |
+ self._timeline_model = timeline_model_module.TimelineModel( |
+ builder.AsData(), shift_world_to_zero=False) |
+ else: |
+ self._timeline_model = None |
+ |
+ @property |
+ def is_timeline_recording_running(self): |
+ return self._timeline.is_timeline_recording_running |
# Network public methods. |