Class 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 Detail

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