Interface RequestTracer

  • All Known Implementing Classes:
    NoopRequestTracer, ThresholdLoggingTracer

    @Volatile
    public interface RequestTracer
    The RequestTracer describes the tracing abstraction in the SDK.

    Various implementations exist, both as part of the core library but also as external modules that can be attached (i.e. for OpenTracing and OpenTelemetry). It is recommended to use those modules and not write your own tracer unless absolutely needed.

    • Method Detail

      • requestSpan

        RequestSpan requestSpan​(String name,
                                RequestSpan parent)
        Creates a new request span with or without a parent.
        Parameters:
        name - the name of the toplevel operation (i.e. "cb.get")
        parent - a parent, if no parent is used supply null.
        Returns:
        a request span that wraps the actual tracer implementation span.
      • start

        Mono<Void> start()
        Starts the tracer if it hasn't been started, might be a noop depending on the implementation.
      • stop

        Mono<Void> stop​(Duration timeout)
        Stops the tracer if it has been started previously, might be a noop depending on the implementation.