Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import imp | |
| 5 import logging | 6 import logging |
| 6 import os | 7 import os |
| 7 import sys | 8 import sys |
| 8 | 9 |
| 9 # Since event_mon depends on ts_mon, we reuse module setup (__init__.py) from | 10 # Since event_mon depends on ts_mon, we reuse module setup (__init__.py) from |
| 10 # the gae_ts_mon, which configures infra_libs as if it was imported directly. | 11 # the gae_ts_mon, which configures infra_libs as if it was imported directly. |
| 11 # We expect the users of gae_event_mon to symlink both this and gae_ts_mon | 12 # We expect the users of gae_event_mon to symlink both this and gae_ts_mon |
| 12 # modules into their apps. | 13 # modules into their apps. |
| 13 import gae_ts_mon | 14 import gae_ts_mon |
| 14 | 15 |
| 15 # Additional infra_libs configuration for event_mon. | 16 # Additional infra_libs configuration for event_mon. |
| 16 import infra_libs.ts_mon.httplib2_utils | 17 import infra_libs.ts_mon.httplib2_utils |
| 17 sys.modules['infra_libs'].InstrumentedHttp = ( | 18 sys.modules['infra_libs'].InstrumentedHttp = ( |
| 18 infra_libs.ts_mon.httplib2_utils.InstrumentedHttp) | 19 infra_libs.ts_mon.httplib2_utils.InstrumentedHttp) |
| 19 sys.modules['infra_libs'].event_mon = sys.modules[__package__] | 20 sys.modules['infra_libs'].event_mon = sys.modules[__package__] |
| 20 sys.modules['infra_libs.event_mon'] = sys.modules[__package__] | 21 sys.modules['infra_libs.event_mon'] = sys.modules[__package__] |
| 21 | 22 |
| 23 # Import time_functions explicitly, since gae_ts_mon messes with infra_libs. | |
| 24 # TODO(sergeyberezin): clean up this mess. Do not meddle with magic. | |
|
Sergey Berezin
2016/08/04 20:21:25
FYI: this is the ugliest thing I had to do for thi
| |
| 25 try: | |
| 26 tf_file, tf_path, tf_desc = imp.find_module( | |
| 27 'time_functions', | |
| 28 [os.path.dirname(__file__)]) | |
| 29 tf_module = imp.load_module( | |
| 30 'infra_libs.time_functions', tf_file, tf_path, tf_desc) | |
| 31 finally: | |
| 32 if tf_file: | |
| 33 tf_file.close() | |
| 34 | |
| 35 sys.modules['infra_libs'].time_functions = tf_module | |
| 36 sys.modules['infra_libs.time_functions'] = tf_module | |
| 37 | |
| 22 from google.appengine.api import modules | 38 from google.appengine.api import modules |
| 23 from google.appengine.api.app_identity import app_identity | 39 from google.appengine.api.app_identity import app_identity |
| 24 | 40 |
| 25 def initialize(service_name): | 41 def initialize(service_name): |
| 26 is_local_unittest = ('expect_tests' in sys.argv[0]) | 42 is_local_unittest = ('expect_tests' in sys.argv[0]) |
| 27 if is_local_unittest: | 43 if is_local_unittest: |
| 28 appengine_name = 'unittest' | 44 appengine_name = 'unittest' |
| 29 service_name = 'unittest' | 45 service_name = 'unittest' |
| 30 hostname = 'unittest' | 46 hostname = 'unittest' |
| 31 else: # pragma: no cover | 47 else: # pragma: no cover |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 63 from infra_libs.event_mon.monitoring import send_service_event | 79 from infra_libs.event_mon.monitoring import send_service_event |
| 64 | 80 |
| 65 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import ChromeInfraEvent | 81 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import ChromeInfraEvent |
| 66 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import BuildEvent | 82 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import BuildEvent |
| 67 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import ServiceEvent | 83 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import ServiceEvent |
| 68 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import InfraEventSource | 84 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import InfraEventSource |
| 69 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import CodeVersion | 85 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import CodeVersion |
| 70 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import CQEvent | 86 from infra_libs.event_mon.protos.chrome_infra_log_pb2 import CQEvent |
| 71 | 87 |
| 72 from infra_libs.event_mon.protos.log_request_lite_pb2 import LogRequestLite | 88 from infra_libs.event_mon.protos.log_request_lite_pb2 import LogRequestLite |
| OLD | NEW |