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