| Index: tools/perf/benchmarks/pywebsocket_server.py
|
| diff --git a/tools/perf/benchmarks/pywebsocket_server.py b/tools/perf/benchmarks/pywebsocket_server.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..304d269a76586a5b6b6e76bb6ab898590d8e1bd7
|
| --- /dev/null
|
| +++ b/tools/perf/benchmarks/pywebsocket_server.py
|
| @@ -0,0 +1,40 @@
|
| +# 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 os
|
| +import sys
|
| +
|
| +from telemetry.core import local_server
|
| +from telemetry.core import util
|
| +
|
| +
|
| +# This invokes pywebsocket's standalone.py under third_party/pywebsocket
|
| +class PywebsocketServerBackend(local_server.LocalServerBackend):
|
| + def __init__(self):
|
| + super(PywebsocketServerBackend, self).__init__()
|
| + self.port = 8001
|
| + self.base_dir = os.path.relpath(
|
| + os.path.join(util.GetChromiumSrcDir(),
|
| + 'third_party', 'pywebsocket', 'src'),
|
| + start=util.GetTelemetryDir())
|
| +
|
| + def StartAndGetNamedPorts(self, args):
|
| + return [local_server.NamedPort('http', self.port)]
|
| +
|
| + def ServeForever(self):
|
| + os.chdir(self.base_dir)
|
| + cmd = [
|
| + sys.executable, '-m', 'mod_pywebsocket.standalone',
|
| + '--port', str(self.port),
|
| + '--log-level', 'debug',
|
| + '-d', 'example'
|
| + ]
|
| + os.execv(sys.executable, cmd)
|
| +
|
| +class PywebsocketServer(local_server.LocalServer):
|
| + def __init__(self):
|
| + super(PywebsocketServer, self).__init__(PywebsocketServerBackend)
|
| +
|
| + def GetBackendStartupArgs(self):
|
| + return {}
|
|
|