Class ThresholdLoggingTracer

java.lang.Object
com.couchbase.client.core.cnc.tracing.ThresholdLoggingTracer
All Implemented Interfaces:
RequestTracer

public class ThresholdLoggingTracer extends Object implements RequestTracer
The default tracing implementation, which tracks the top N slowest requests per service and dumps them at configurable intervals.
  • Method Details

    • builder

      public static ThresholdLoggingTracer.Builder builder(EventBus eventBus)
      Deprecated.
      Creates a builder to customize this tracer.
      Parameters:
      eventBus - the event bus where the final events will be emitted into.
      Returns:
      the builder to customize.
    • create

      public static ThresholdLoggingTracer create(EventBus eventBus)
      Short-hand to create the tracer with the event bus that needs to be used.
      Parameters:
      eventBus - the event bus where the final events will be emitted into.
      Returns:
      the created tracer ready to be used.
    • create

      public static ThresholdLoggingTracer create(EventBus eventBus, ThresholdLoggingTracerConfig config)
      Creates a tracer with config and a reference to the event bus.
      Parameters:
      eventBus - the event bus where the final events will be emitted into.
      config - the config that should be used.
      Returns:
      the created tracer ready to be used.
    • config

      Returns the current configuration.
    • requestSpan

      public RequestSpan requestSpan(String name, RequestSpan parent)
      Description copied from interface: RequestTracer
      Creates a new request span with or without a parent.
      Specified by:
      requestSpan in interface RequestTracer
      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

      public Mono<Void> start()
      Description copied from interface: RequestTracer
      Starts the tracer if it hasn't been started, might be a noop depending on the implementation.
      Specified by:
      start in interface RequestTracer
    • stop

      public Mono<Void> stop(Duration timeout)
      Description copied from interface: RequestTracer
      Stops the tracer if it has been started previously, might be a noop depending on the implementation.
      Specified by:
      stop in interface RequestTracer