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 Link icon

    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 Link icon

    • requestSpan Link icon

      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 Link icon

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

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