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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/chrome_browser_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/chrome_browser_backend.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py b/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py
index 90d6c32ed5d3616c2b5965d31cb93bfdaae8fc5f..6d992332aa0033a37ac6e8a1679676d07cf04911 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/chrome_browser_backend.py
@@ -23,7 +23,6 @@ from telemetry.core.backends import browser_backend
from telemetry.core.backends.chrome import extension_backend
from telemetry.core.backends.chrome import system_info_backend
from telemetry.core.backends.chrome import tab_list_backend
-from telemetry.core.backends.chrome import tracing_backend
from telemetry.core.backends.chrome_inspector import devtools_client_backend
from telemetry.core.backends.chrome_inspector import devtools_http
from telemetry.timeline import tracing_timeline_data
@@ -46,9 +45,8 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
self._platform_backend = platform_backend
self._supports_tab_control = supports_tab_control
- self._devtools_client = None
- self._tracing_backend = None
self._system_info_backend = None
+ self._devtools_client = None
self._output_profile_path = output_profile_path
self._extensions_to_load = extensions_to_load
@@ -86,6 +84,14 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
return None
return extension_backend.ExtensionBackendDict(self)
+ @property
+ def devtools_client(self):
+ if not self._devtools_client:
+ assert self._port, 'No DevTools port info available.'
+ self._devtools_client = devtools_client_backend.DevToolsClientBackend(
+ self._port)
+ return self._devtools_client
+
def GetBrowserStartupArgs(self):
args = []
args.extend(self.browser_options.extra_browser_args)
@@ -254,23 +260,6 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
def supports_tracing(self):
return True
- def StartTracing(self, trace_options, custom_categories=None,
- timeout=web_contents.DEFAULT_WEB_CONTENTS_TIMEOUT):
- """
- 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.
- """
- assert trace_options and trace_options.enable_chrome_trace
- if self._tracing_backend is None:
- self._tracing_backend = tracing_backend.TracingBackend(self._port, self)
- return self._tracing_backend.StartTracing(
- trace_options, custom_categories, timeout)
-
def StopTracing(self):
""" Stops tracing and returns the result as TimelineData object. """
tab_ids_list = []
@@ -284,7 +273,7 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
if not success:
raise Exception('Page stomped on console.time')
tab_ids_list.append(tab.id)
- trace_events = self._tracing_backend.StopTracing()
+ trace_events = self._devtools_client.StopChromeTracing()
# Augment tab_ids data to trace events.
event_data = {'traceEvents' : trace_events, 'tabIds': tab_ids_list}
return tracing_timeline_data.TracingTimelineData(event_data)
@@ -305,9 +294,7 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
return m.group(1)
def Close(self):
- if self._tracing_backend:
- self._tracing_backend.Close()
- self._tracing_backend = None
+ pass
@property
def supports_system_info(self):

Powered by Google App Engine
This is Rietveld 408576698