Class TraceContextInterceptor

java.lang.Object
com.google.cloud.spanner.spi.v1.TraceContextInterceptor
All Implemented Interfaces:
io.grpc.ClientInterceptor

public class TraceContextInterceptor extends Object implements io.grpc.ClientInterceptor
Intercepts all gRPC calls and injects trace context related headers to propagate trace context to Spanner. This class takes reference from OpenTelemetry's JAVA instrumentation library for gRPC. https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/9ecf7965aa455d41ea8cc0761b6c6b6eeb106324/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java#L27
  • Constructor Details

    • TraceContextInterceptor

      public TraceContextInterceptor(io.opentelemetry.api.OpenTelemetry openTelemetry)
  • Method Details

    • interceptCall

      public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> method, io.grpc.CallOptions callOptions, io.grpc.Channel next)
      Specified by:
      interceptCall in interface io.grpc.ClientInterceptor