| 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)
|
|
|