Class OpenTelemetryRequestTracer

  • All Implemented Interfaces:
    com.couchbase.client.core.cnc.RequestTracer

    public class OpenTelemetryRequestTracer
    extends Object
    implements com.couchbase.client.core.cnc.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.
    • Method Detail

      • 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