|
14 | 14 | # See the License for the specific language governing permissions and |
15 | 15 | # limitations under the License. |
16 | 16 |
|
17 | | -import grpc |
18 | | -from concurrent import futures |
19 | | -import time |
20 | | -import traceback |
21 | 17 | import os |
22 | 18 | import random |
| 19 | +import time |
| 20 | +import traceback |
| 21 | +from concurrent import futures |
| 22 | + |
23 | 23 | import googleclouddebugger |
| 24 | +import grpc |
| 25 | +from opencensus.trace.exporters import print_exporter |
| 26 | +from opencensus.trace.exporters import stackdriver_exporter |
| 27 | +from opencensus.trace.ext.grpc import server_interceptor |
| 28 | +from opencensus.trace.samplers import always_on |
24 | 29 |
|
25 | 30 | import demo_pb2 |
26 | 31 | import demo_pb2_grpc |
|
30 | 35 | from logger import getJSONLogger |
31 | 36 | logger = getJSONLogger('recommendationservice-server') |
32 | 37 |
|
33 | | -# TODO(morganmclean,ahmetb) tracing currently disabled due to memory leak (see TODO below) |
34 | | -# from opencensus.trace.ext.grpc import server_interceptor |
35 | | -# from opencensus.trace.samplers import always_on |
36 | | -# from opencensus.trace.exporters import stackdriver_exporter |
37 | | -# from opencensus.trace.exporters import print_exporter |
38 | 38 |
|
39 | 39 | class RecommendationService(demo_pb2_grpc.RecommendationServiceServicer): |
40 | 40 | def ListRecommendations(self, request, context): |
@@ -63,15 +63,12 @@ def Check(self, request, context): |
63 | 63 | if __name__ == "__main__": |
64 | 64 | logger.info("initializing recommendationservice") |
65 | 65 |
|
66 | | - # TODO(morganmclean,ahmetb) enabling the tracing interceptor/sampler below |
67 | | - # causes an unbounded memory leak eventually OOMing the container. |
68 | | - # ---- |
69 | | - # try: |
70 | | - # sampler = always_on.AlwaysOnSampler() |
71 | | - # exporter = stackdriver_exporter.StackdriverExporter() |
72 | | - # tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) |
73 | | - # except: |
74 | | - # tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() |
| 66 | + try: |
| 67 | + sampler = always_on.AlwaysOnSampler() |
| 68 | + exporter = stackdriver_exporter.StackdriverExporter() |
| 69 | + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) |
| 70 | + except: |
| 71 | + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() |
75 | 72 |
|
76 | 73 | try: |
77 | 74 | googleclouddebugger.enable( |
|
0 commit comments