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

Unified Diff: telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py

Issue 2160953003: [Telemetry][Tracing] Split StopTracing and CollectTraceData for Chrome Tracing Agent. (Closed) Base URL: git@github.com:catapult-project/catapult@master
Patch Set: [Telemetry][Tracing] Split StopTracing and CollectTraceData for Chrome Tracing Agent. Created 4 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: telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py
diff --git a/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py b/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py
index d2dc371b47e352d5f3bb39c9e3f981387aaa33ac..cce5a1582884c1f5c6bd83687f30593b64d4146a 100644
--- a/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py
+++ b/telemetry/telemetry/internal/backends/chrome_inspector/devtools_client_backend.py
@@ -104,6 +104,8 @@ class DevToolsClientBackend(object):
self._devtools_context_map_backend = _DevToolsContextMapBackend(
self._app_backend, self)
+ self._tab_ids = None
+
if not self.supports_tracing:
return
chrome_tracing_devtools_manager.RegisterDevToolsClient(
@@ -339,8 +341,9 @@ class DevToolsClientBackend(object):
assert self.is_tracing_running, 'Tracing must be running to clock sync.'
self._tracing_backend.RecordClockSyncMarker(sync_id)
- def StopChromeTracing(self, trace_data_builder, timeout=30):
+ def StopChromeTracing(self):
assert self.is_tracing_running
+ self._tab_ids = []
try:
context_map = self.GetUpdatedInspectableContexts()
for context in context_map.contexts:
@@ -352,10 +355,18 @@ class DevToolsClientBackend(object):
"console.time('" + backend.id + "');" +
"console.timeEnd('" + backend.id + "');" +
"console.time.toString().indexOf('[native code]') != -1;")
+ self._tab_ids.append(backend.id)
+ finally:
+ self._tracing_backend.StopTracing()
+
+ def CollectChromeTracingData(self, trace_data_builder, timeout=30):
+ try:
+ for tab_id in self._tab_ids:
trace_data_builder.AddEventsTo(
- trace_data_module.TAB_ID_PART, [backend.id])
+ trace_data_module.TAB_ID_PART, [tab_id])
+ self._tab_ids = None
finally:
- self._tracing_backend.StopTracing(trace_data_builder, timeout)
+ self._tracing_backend.CollectTraceData(trace_data_builder, timeout)
def DumpMemory(self, timeout=30):
"""Dumps memory.

Powered by Google App Engine
This is Rietveld 408576698