Class ThresholdRequestTracer

  • All Implemented Interfaces:
    RequestTracer

    public class ThresholdRequestTracer
    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 ThresholdRequestTracer 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 ThresholdRequestTracer create​(EventBus eventBus,
                                                    ThresholdRequestTracerConfig 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.
      • internalSpan

        public InternalSpan internalSpan​(String operationName,
                                         RequestSpan parent)
        Description copied from interface: RequestTracer
        Creates a new span that represents a full request/response lifecycle in the SDK.
        Specified by:
        internalSpan in interface RequestTracer
        Parameters:
        operationName - the name of the toplevel operation (i.e. "get")
        parent - the parent, can be null.
        Returns:
        an internal span representing the toplevel request.
      • requestSpan

        public RequestSpan requestSpan​(String operationName,
                                       RequestSpan parent)
        Description copied from interface: RequestTracer
        Creates a new span that is created from the underlying tracer.
        Specified by:
        requestSpan in interface RequestTracer
        Parameters:
        operationName - the name of the toplevel operation (i.e. "get")
        parent - a possible parent.
        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