Class OpenTelemetryRequestTracer

java.lang.Object
com.couchbase.client.tracing.opentelemetry.OpenTelemetryRequestTracer
All Implemented Interfaces:
RequestTracer

public class OpenTelemetryRequestTracer
extends Object
implements RequestTracer
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 RequestSpan requestSpan​(String operationName, RequestSpan parent)
      Specified by:
      requestSpan in interface RequestTracer
    • start

      public Mono<Void> start()
      Specified by:
      start in interface RequestTracer
    • stop

      public Mono<Void> stop​(Duration timeout)
      Specified by:
      stop in interface RequestTracer