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

Unified Diff: tools/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py

Issue 1254383017: [Telemetry] Rename chrome_tracing_agent to chrome_devtools_tracing_agent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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: tools/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py
diff --git a/tools/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py b/tools/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py
deleted file mode 100644
index 93365085ca3040c55394259c48325c85d9d37acb..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/platform/tracing_agent/chrome_tracing_agent.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import sys
-import traceback
-
-from telemetry.internal.platform import tracing_agent
-
-
-class ChromeTracingStartedError(Exception):
- pass
-
-
-class ChromeTracingStoppedError(Exception):
- pass
-
-
-class ChromeTracingAgent(tracing_agent.TracingAgent):
- # A singleton map from platform backends to maps of uniquely-identifying
- # remote port (which may be the same as local port) to DevToolsClientBackend.
- # There is no guarantee that the devtools agent is still alive.
- _platform_backends_to_devtools_clients_maps = {}
- _is_tracing_running_for_platform_backend = {}
- _is_tracing_running_for_platform_backend.setdefault(False)
-
- def __init__(self, platform_backend):
- super(ChromeTracingAgent, self).__init__(platform_backend)
-
- @classmethod
- def _RemoveStaleDevToolsClient(cls, platform_backend):
- """Removes DevTools clients that are no longer connectable."""
- devtools_clients_map = cls._platform_backends_to_devtools_clients_maps.get(
- platform_backend, {})
- devtools_clients_map = {
- port: client
- for port, client in devtools_clients_map.iteritems()
- if client.IsAlive()
- }
- cls._platform_backends_to_devtools_clients_maps[platform_backend] = (
- devtools_clients_map)
-
- @classmethod
- def RegisterDevToolsClient(cls, devtools_client_backend, platform_backend):
- is_tracing_running = cls._is_tracing_running_for_platform_backend.get(
- platform_backend)
- if is_tracing_running:
- raise ChromeTracingStartedError(
- 'Cannot add new DevTools client when tracing is running on '
- 'platform backend %s.' % platform_backend)
- remote_port = str(devtools_client_backend.remote_port)
- if platform_backend not in cls._platform_backends_to_devtools_clients_maps:
- cls._platform_backends_to_devtools_clients_maps[platform_backend] = {}
- devtools_clients_map = (
- cls._platform_backends_to_devtools_clients_maps[platform_backend])
- devtools_clients_map[remote_port] = devtools_client_backend
-
- @classmethod
- def IsSupported(cls, platform_backend):
- cls._RemoveStaleDevToolsClient(platform_backend)
- devtools_clients_map = cls._platform_backends_to_devtools_clients_maps.get(
- platform_backend, {})
- for _, devtools_client in devtools_clients_map.iteritems():
- if devtools_client.IsChromeTracingSupported():
- return True
- return False
-
- @property
- def _is_active(self):
- return self._is_tracing_running_for_platform_backend.get(
- self._platform_backend)
-
- @_is_active.setter
- def _is_active(self, value):
- self._is_tracing_running_for_platform_backend[self._platform_backend] = (
- value)
-
- def Start(self, trace_options, category_filter, timeout):
- if not trace_options.enable_chrome_trace:
- return False
-
- if self._is_active:
- raise ChromeTracingStartedError(
- 'Tracing is already running on platform backend %s.'
- % self._platform_backend)
- self._RemoveStaleDevToolsClient(self._platform_backend)
- devtools_clients_map = self._platform_backends_to_devtools_clients_maps.get(
- self._platform_backend, {})
- if not devtools_clients_map:
- return False
- for _, devtools_client in devtools_clients_map.iteritems():
- devtools_client.StartChromeTracing(
- trace_options, category_filter.filter_string, timeout)
- self._is_active = True
- return True
-
- def Stop(self, trace_data_builder):
- devtools_clients_map = (
- self._platform_backends_to_devtools_clients_maps[self._platform_backend])
- raised_execption_messages = []
- for devtools_port, devtools_client in devtools_clients_map.iteritems():
- # We do not check for stale DevTools client, so that we get an
- # exception if there is a stale client. This is because we
- # will potentially lose data if there is a stale client.
- try:
- devtools_client.StopChromeTracing(trace_data_builder)
- except Exception:
- raised_execption_messages.append(
- 'Error when trying to stop tracing on devtools at port %s:\n%s'
- % (devtools_port,
- ''.join(traceback.format_exception(*sys.exc_info()))))
-
- self._is_active = False
- if raised_execption_messages:
- raise ChromeTracingStoppedError(
- 'Exceptions raised when trying to stop devtool tracing\n:' +
- '\n'.join(raised_execption_messages))

Powered by Google App Engine
This is Rietveld 408576698