Chromium Code Reviews| 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..14024e879af340094127feb8e09cafd0fa1e0514 |
| --- /dev/null |
| +++ b/tools/perf/benchmarks/pywebsocket_server.py |
| @@ -0,0 +1,39 @@ |
| +# 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 |
| + |
|
nednguyen
2015/01/05 23:10:58
This file should be in telemetry/core/
hiroshige
2015/01/06 05:42:51
I moved this to tools/perf/ according to chrishenr
|
| +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 {} |