diff --git a/src/emailservice/email_client.py b/src/emailservice/email_client.py index 32593fe..c31f4ef 100644 --- a/src/emailservice/email_client.py +++ b/src/emailservice/email_client.py @@ -22,20 +22,20 @@ import demo_pb2_grpc from logger import getJSONLogger logger = getJSONLogger('emailservice-client') -# from opencensus.trace.tracer import Tracer -# from opencensus.trace.exporters import stackdriver_exporter -# from opencensus.trace.ext.grpc import client_interceptor +from opencensus.trace.tracer import Tracer +from opencensus.trace.exporters import stackdriver_exporter +from opencensus.trace.ext.grpc import client_interceptor -# try: -# exporter = stackdriver_exporter.StackdriverExporter() -# tracer = Tracer(exporter=exporter) -# tracer_interceptor = client_interceptor.OpenCensusClientInterceptor(tracer, host_port='0.0.0.0:8080') -# except: -# tracer_interceptor = client_interceptor.OpenCensusClientInterceptor() +try: + exporter = stackdriver_exporter.StackdriverExporter() + tracer = Tracer(exporter=exporter) + tracer_interceptor = client_interceptor.OpenCensusClientInterceptor(tracer, host_port='0.0.0.0:8080') +except: + tracer_interceptor = client_interceptor.OpenCensusClientInterceptor() def send_confirmation_email(email, order): channel = grpc.insecure_channel('0.0.0.0:8080') - # channel = grpc.intercept_channel(channel, tracer_interceptor) + channel = grpc.intercept_channel(channel, tracer_interceptor) stub = demo_pb2_grpc.EmailServiceStub(channel) try: response = stub.SendOrderConfirmation(demo_pb2.SendOrderConfirmationRequest( diff --git a/src/emailservice/email_server.py b/src/emailservice/email_server.py index 676b70e..f4a2162 100644 --- a/src/emailservice/email_server.py +++ b/src/emailservice/email_server.py @@ -28,19 +28,18 @@ import demo_pb2_grpc from grpc_health.v1 import health_pb2 from grpc_health.v1 import health_pb2_grpc -# 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 +from opencensus.trace.exporters import stackdriver_exporter +from opencensus.trace.ext.grpc import server_interceptor +from opencensus.trace.samplers import always_on # import googleclouddebugger -# try: -# sampler = always_on.AlwaysOnSampler() -# exporter = stackdriver_exporter.StackdriverExporter() -# tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) -# except: -# tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() +try: + sampler = always_on.AlwaysOnSampler() + exporter = stackdriver_exporter.StackdriverExporter() + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) +except: + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() # try: # googleclouddebugger.enable( @@ -123,7 +122,8 @@ class HealthCheck(): status=health_pb2.HealthCheckResponse.SERVING) def start(dummy_mode): - server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))#, interceptors=(tracer_interceptor,)) + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10), + interceptors=(tracer_interceptor,)) service = None if dummy_mode: service = DummyEmailService() diff --git a/src/emailservice/requirements.txt b/src/emailservice/requirements.txt index 17f0799..8737071 100644 --- a/src/emailservice/requirements.txt +++ b/src/emailservice/requirements.txt @@ -14,7 +14,7 @@ google-cloud-core==0.28.1 google-cloud-trace==0.19.0 googleapis-common-protos==1.5.3 grpc-google-iam-v1==0.11.4 -grpcio==1.12.1 +grpcio==1.16.1 grpcio-health-checking==1.12.1 grpcio-tools==1.12.1 idna==2.7 @@ -24,7 +24,7 @@ Jinja2==2.10 keyring==15.1.0 keyrings.alt==3.1 MarkupSafe==1.0 -opencensus==0.1.7 +opencensus==0.1.8 protobuf==3.6.1 pyasn1==0.4.4 pyasn1-modules==0.2.2 diff --git a/src/recommendationservice/recommendation_server.py b/src/recommendationservice/recommendation_server.py index 09e6e0d..9714038 100644 --- a/src/recommendationservice/recommendation_server.py +++ b/src/recommendationservice/recommendation_server.py @@ -31,10 +31,10 @@ from logger import getJSONLogger logger = getJSONLogger('recommendationservice-server') # TODO(morganmclean,ahmetb) tracing currently disabled due to memory leak (see TODO below) -# 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 +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 class RecommendationService(demo_pb2_grpc.RecommendationServiceServicer): def ListRecommendations(self, request, context): @@ -66,12 +66,12 @@ if __name__ == "__main__": # TODO(morganmclean,ahmetb) enabling the tracing interceptor/sampler below # causes an unbounded memory leak eventually OOMing the container. # ---- - # try: - # sampler = always_on.AlwaysOnSampler() - # exporter = stackdriver_exporter.StackdriverExporter() - # tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) - # except: - # tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() + try: + sampler = always_on.AlwaysOnSampler() + exporter = stackdriver_exporter.StackdriverExporter() + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor(sampler, exporter) + except: + tracer_interceptor = server_interceptor.OpenCensusServerInterceptor() try: googleclouddebugger.enable(