Class ThresholdRequestTracer
java.lang.Object
com.couchbase.client.core.cnc.tracing.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.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ThresholdRequestTracer.Builder
The builder used to configure theThresholdRequestTracer
. -
Method Summary
Modifier and Type Method Description static ThresholdRequestTracer.Builder
builder(EventBus eventBus)
Deprecated.ThresholdRequestTracerConfig
config()
Returns the current configuration.static ThresholdRequestTracer
create(EventBus eventBus)
Short-hand to create the tracer with the event bus that needs to be used.static ThresholdRequestTracer
create(EventBus eventBus, ThresholdRequestTracerConfig config)
Creates a tracer with config and a reference to the event bus.RequestSpan
requestSpan(String name, RequestSpan parent)
Creates a new request span with or without a parent.Mono<Void>
start()
Starts the tracer if it hasn't been started, might be a noop depending on the implementation.Mono<Void>
stop(Duration timeout)
Stops the tracer if it has been started previously, might be a noop depending on the implementation.
-
Method Details
-
builder
Deprecated.please usecreate(EventBus, ThresholdRequestTracerConfig)
instead.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
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.
-
config
Returns the current configuration. -
requestSpan
Description copied from interface:RequestTracer
Creates a new request span with or without a parent.- Specified by:
requestSpan
in interfaceRequestTracer
- 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
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 interfaceRequestTracer
-
stop
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 interfaceRequestTracer
-
create(EventBus, ThresholdRequestTracerConfig)
instead.