From 9486bc24fdf0276a6135f1e3d74f4958176147fa Mon Sep 17 00:00:00 2001 From: morganmclean Date: Mon, 16 Jul 2018 14:00:42 -0700 Subject: [PATCH] Fixed recommendations instrumentation --- src/recommendationservice/Dockerfile | 2 +- src/recommendationservice/client.py | 9 ++++-- .../recommendation_server.py | 29 +++++++++++-------- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/recommendationservice/Dockerfile b/src/recommendationservice/Dockerfile index fcbb47f..d24d3c2 100644 --- a/src/recommendationservice/Dockerfile +++ b/src/recommendationservice/Dockerfile @@ -10,8 +10,8 @@ WORKDIR /home # get packages RUN apt-get update && apt-get install python3-pip -y RUN pip install opencensus -RUN pip install google-python-cloud-debugger RUN pip install google-cloud-trace +RUN pip install google-python-cloud-debugger # set listen port ENV PORT "8080" diff --git a/src/recommendationservice/client.py b/src/recommendationservice/client.py index 43539a5..4c9af7b 100644 --- a/src/recommendationservice/client.py +++ b/src/recommendationservice/client.py @@ -14,9 +14,12 @@ if __name__ == "__main__": else: port = "8080" - exporter = stackdriver_exporter.StackdriverExporter() - tracer = Tracer(exporter=exporter) - tracer_interceptor = client_interceptor.OpenCensusClientInterceptor(tracer, host_port='localhost:'+port) + try: + exporter = stackdriver_exporter.StackdriverExporter() + tracer = Tracer(exporter=exporter) + tracer_interceptor = client_interceptor.OpenCensusClientInterceptor(tracer, host_port='localhost:'+port) + except: + tracer_interceptor = client_interceptor.OpenCensusClientInterceptor() # set up server stub channel = grpc.insecure_channel('localhost:'+port) diff --git a/src/recommendationservice/recommendation_server.py b/src/recommendationservice/recommendation_server.py index 15693f0..3405695 100644 --- a/src/recommendationservice/recommendation_server.py +++ b/src/recommendationservice/recommendation_server.py @@ -9,6 +9,9 @@ import os from opencensus.trace.ext.grpc import server_interceptor from opencensus.trace.samplers import always_on from opencensus.trace.exporters import stackdriver_exporter +from opencensus.trace.exporters import print_exporter + +import googleclouddebugger class RecommendationService(demo_pb2_grpc.RecommendationServiceServicer): def ListRecommendations(self, request, context): @@ -29,18 +32,20 @@ class RecommendationService(demo_pb2_grpc.RecommendationServiceServicer): response.product_ids.extend(prod_list) return response if __name__ == "__main__": - # sampler = always_on.AlwaysOnSampler() - # exporter = stackdriver_exporter.StackdriverExporter() - # tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) + try: + sampler = always_on.AlwaysOnSampler() + exporter = stackdriver_exporter.StackdriverExporter() + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) + except: + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() - # try: - # import googleclouddebugger - # googleclouddebugger.enable( - # module='recommendationserver', - # version='[VERSION]' - # ) - # except ImportError: - # pass + try: + googleclouddebugger.enable( + module='recommendationserver', + version='[VERSION]' + ) + except: + pass # get port from $PORT envar port = os.environ.get('PORT', "8080") @@ -54,7 +59,7 @@ if __name__ == "__main__": channel = grpc.insecure_channel(catalog_addr) stub = demo_pb2_grpc.ProductCatalogServiceStub(channel) # create gRPC server - server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))#,interceptors=(tracer_interceptor)) + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10),interceptors=(tracer_interceptor,)) # add class to gRPC server demo_pb2_grpc.add_RecommendationServiceServicer_to_server(RecommendationService(), server) # start server