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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome_inspector/devtools_client_backend.py

Issue 813283002: [WIP] DevToolsClientBackend with tracing API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. 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/core/backends/chrome_inspector/devtools_client_backend.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome_inspector/devtools_client_backend.py b/tools/telemetry/telemetry/core/backends/chrome_inspector/devtools_client_backend.py
index 0489927e5d141a0d3a50b45642c2c9b6f9872ff2..333ed60442ae996df157f5e63159074a0f0e9829 100644
--- a/tools/telemetry/telemetry/core/backends/chrome_inspector/devtools_client_backend.py
+++ b/tools/telemetry/telemetry/core/backends/chrome_inspector/devtools_client_backend.py
@@ -5,7 +5,9 @@
import re
from telemetry import decorators
+from telemetry.core import exceptions
from telemetry.core.backends.chrome_inspector import devtools_http
+from telemetry.core.backends.chrome_inspector import tracing_backend
class DevToolsClientBackend(object):
@@ -55,3 +57,31 @@ class DevToolsClientBackend(object):
# equivalent. crbug.com/423954.
def ListInspectableContexts(self):
return self._devtools_http.RequestJson('')
+
+ @property
+ def support_tracing(self):
+ # TODO(chrishenry): Is there a case where DevTools server is
+ # available but tracing is not supported? If not, we should delete
+ # this method.
+ return True
+
+ def StartChromeTracing(
+ self, trace_options, custom_categories=None, timeout=10):
+ """
+ Args:
+ trace_options: An tracing_options.TracingOptions instance.
+ custom_categories: An optional string containing a list of
+ comma separated categories that will be traced
+ instead of the default category set. Example: use
+ "webkit,cc,disabled-by-default-cc.debug" to trace only
+ those three event categories.
+ """
+ if not self._tracing_backend:
+ self._tracing_backend = tracing_backend.TracingBackend(
+ self._devtools_port, self)
+ return self._tracing_backend.StartTracing(
+ trace_options, custom_categories, timeout)
+
+ def StopChromeTracing(self, timeout=30):
+ assert self._tracing_backend
+ return self._tracing_backend.StopTracing(timeout)

Powered by Google App Engine
This is Rietveld 408576698