Class OpenTelemetryRequestTracer

java.lang.Object
com.couchbase.client.tracing.opentelemetry.OpenTelemetryRequestTracer
All Implemented Interfaces:
com.couchbase.client.core.cnc.RequestTracer, com.couchbase.client.core.protostellar.GrpcAwareRequestTracer

public class OpenTelemetryRequestTracer extends Object implements com.couchbase.client.core.cnc.RequestTracer, com.couchbase.client.core.protostellar.GrpcAwareRequestTracer
Wraps the OpenTelemetry tracer so it is suitable to be passed in into the couchbase environment and picked up by the rest of the SDK as a result.
  • Field Details

  • Method Details

    • wrap

      public static OpenTelemetryRequestTracer wrap(io.opentelemetry.api.OpenTelemetry openTelemetry)
      Wraps OpenTelemetry and returns a datatype that can be passed into the requestTracer method of the environment.
      Parameters:
      openTelemetry - the OpenTelemetry instance to wrap.
      Returns:
      the wrapped OpenTelemetry ready to be passed in.
    • wrap

      public static OpenTelemetryRequestTracer wrap(io.opentelemetry.api.trace.TracerProvider tracerProvider)
      Wraps OpenTelemetry and returns a datatype that can be passed into the requestTracer method of the environment.
      Parameters:
      tracerProvider - the OpenTelemetry TracerProvider instance to wrap.
      Returns:
      the wrapped OpenTelemetry ready to be passed in.
    • tracer

      public io.opentelemetry.api.trace.Tracer tracer()
      Returns the inner OpenTelemetry tracer.
    • requestSpan

      public com.couchbase.client.core.cnc.RequestSpan requestSpan(String operationName, com.couchbase.client.core.cnc.RequestSpan parent)
      Specified by:
      requestSpan in interface com.couchbase.client.core.cnc.RequestTracer
    • start

      public Mono<Void> start()
      Specified by:
      start in interface com.couchbase.client.core.cnc.RequestTracer
    • stop

      public Mono<Void> stop(Duration timeout)
      Specified by:
      stop in interface com.couchbase.client.core.cnc.RequestTracer
    • registerGrpc

      public void registerGrpc(com.couchbase.client.core.deps.io.grpc.ManagedChannelBuilder<?> builder)
      Specified by:
      registerGrpc in interface com.couchbase.client.core.protostellar.GrpcAwareRequestTracer
    • activateSpan

      public AutoCloseable activateSpan(com.couchbase.client.core.cnc.RequestSpan span)
      Specified by:
      activateSpan in interface com.couchbase.client.core.protostellar.GrpcAwareRequestTracer