| Index: tools/telemetry/telemetry/core/chrome/inspector_memory.py
|
| diff --git a/tools/telemetry/telemetry/core/chrome/inspector_memory.py b/tools/telemetry/telemetry/core/chrome/inspector_memory.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..931cb6e3ead46c0e60a3cf68b5127f379a547d03
|
| --- /dev/null
|
| +++ b/tools/telemetry/telemetry/core/chrome/inspector_memory.py
|
| @@ -0,0 +1,50 @@
|
| +# Copyright (c) 2013 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 json
|
| +
|
| +class InspectorMemoryException(Exception):
|
| + pass
|
| +
|
| +class InspectorMemory(object):
|
| + """Communicates with the remote inspector's Memory domain."""
|
| +
|
| + def __init__(self, inspector_backend):
|
| + self._inspector_backend = inspector_backend
|
| + self._inspector_backend.RegisterDomain(
|
| + 'Memory',
|
| + self._OnNotification,
|
| + self._OnClose)
|
| +
|
| + def _OnNotification(self, msg):
|
| + pass
|
| +
|
| + def _OnClose(self):
|
| + pass
|
| +
|
| + def GetDOMCounters(self, timeout):
|
| + """Retrieves DOM element counts.
|
| +
|
| + Args:
|
| + timeout: The number of seconds to wait for the inspector backend to
|
| + service the request before timing out.
|
| +
|
| + Returns:
|
| + A dictionary containing the counts associated with "nodes", "documents",
|
| + and "jsEventListeners".
|
| + """
|
| + res = self._inspector_backend.SyncRequest({
|
| + 'method': 'Memory.getDOMCounters'
|
| + }, timeout)
|
| + if ('result' not in res or
|
| + 'nodes' not in res['result'] or
|
| + 'documents' not in res['result'] or
|
| + 'jsEventListeners' not in res['result']):
|
| + raise InspectorMemoryException(
|
| + 'Inspector returned unexpected result for Memory.getDOMCounters:\n' +
|
| + json.dumps(res, indent=2))
|
| + return {
|
| + 'nodes': res['result']['nodes'],
|
| + 'documents': res['result']['documents'],
|
| + 'jsEventListeners': res['result']['jsEventListeners']
|
| + }
|
|
|