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

Unified Diff: tools/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py

Issue 1355193002: Reland again [Telemetry] Refactor Chrome devtools tracing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 5 years, 3 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/backends/chrome_inspector/tracing_backend.py
diff --git a/tools/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py b/tools/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py
index 52b501bff9ad3dd587af92046f52bcd0f3d9b246..dadf4a32f3bd92037ab58efd1660838bd77c0eaf 100644
--- a/tools/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py
+++ b/tools/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend.py
@@ -4,6 +4,7 @@
import json
import socket
+import sys
import time
from telemetry import decorators
@@ -32,6 +33,32 @@ class TracingUnexpectedResponseException(Exception):
pass
+
+def IsInspectorWebsocketAvailable(port):
+ """Returns True if inspector websocket is available on the given port."""
+ inspector_websocket_instance = inspector_websocket.InspectorWebsocket()
+ try:
+ return _IsInspectorWebsocketAvailable(inspector_websocket_instance, port)
+ finally:
+ inspector_websocket_instance.Disconnect()
+
+def _IsInspectorWebsocketAvailable(inspector_websocket_instance, port):
+ try:
+ inspector_websocket_instance.Connect(
+ 'ws://127.0.0.1:%i/devtools/browser' % port)
+ except websocket.WebSocketException:
+ return False
+ except socket.error:
+ return False
+ except Exception as e:
+ sys.stderr.write('Unidentified exception while checking if wesocket is'
+ 'available on port %i. Exception message: %s\n' %
+ (port, e.message))
+ return False
+ else:
+ return True
+
+
class _DevToolsStreamReader(object):
def __init__(self, inspector_socket, stream_handle):
self._inspector_websocket = inspector_socket

Powered by Google App Engine
This is Rietveld 408576698