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 Summary

    Modifier and Type
    Method
    Description
    Creates a new request span with or without a parent.
    Starts the tracer if it hasn't been started, might be a noop depending on the implementation.
    stop(Duration timeout)
    Stops the tracer if it has been started previously, might be a noop depending on the implementation.
  • Method Details

    • 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.