Class MicrometerTracingAdapter
java.lang.Object
org.springframework.data.redis.connection.lettuce.observability.MicrometerTracingAdapter
- All Implemented Interfaces:
io.lettuce.core.tracing.Tracing
Tracing
adapter using Micrometer's Observation
. This adapter integrates with Micrometer to propagate
observations into timers, distributed traces and any other registered handlers. Observations include a set of tags
capturing Redis runtime information.
Capturing full statements
This adapter can capture full statements when enablingincludeCommandArgsInSpanTags
. You should carefully consider the impact of this setting as all command
arguments will be captured in traces including these that may contain sensitive details.- Since:
- 3.0
- Author:
- Mark Paluch, Yanming Zhou
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Tracer
implementation based on Micrometer'sObservationRegistry
.Nested classes/interfaces inherited from interface io.lettuce.core.tracing.Tracing
io.lettuce.core.tracing.Tracing.Endpoint
-
Constructor Summary
ConstructorDescriptionMicrometerTracingAdapter
(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName) Create a newMicrometerTracingAdapter
instance.MicrometerTracingAdapter
(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName, boolean includeCommandArgsInSpanTags) Create a newMicrometerTracingAdapter
instance. -
Method Summary
Modifier and TypeMethodDescriptionio.lettuce.core.tracing.Tracing.Endpoint
createEndpoint
(SocketAddress socketAddress) io.lettuce.core.tracing.TracerProvider
boolean
io.lettuce.core.tracing.TraceContextProvider
boolean
-
Constructor Details
-
MicrometerTracingAdapter
public MicrometerTracingAdapter(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName) Create a newMicrometerTracingAdapter
instance.- Parameters:
observationRegistry
- must not be null.serviceName
- service name to be used.
-
MicrometerTracingAdapter
public MicrometerTracingAdapter(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName, boolean includeCommandArgsInSpanTags) Create a newMicrometerTracingAdapter
instance.- Parameters:
observationRegistry
- must not be null.serviceName
- service name to be used.includeCommandArgsInSpanTags
- whether to attach the full command into the trace. Use this flag with caution as sensitive arguments will be captured in the observation spans and metric tags.
-
-
Method Details
-
getTracerProvider
public io.lettuce.core.tracing.TracerProvider getTracerProvider()- Specified by:
getTracerProvider
in interfaceio.lettuce.core.tracing.Tracing
-
initialTraceContextProvider
public io.lettuce.core.tracing.TraceContextProvider initialTraceContextProvider()- Specified by:
initialTraceContextProvider
in interfaceio.lettuce.core.tracing.Tracing
-
isEnabled
public boolean isEnabled()- Specified by:
isEnabled
in interfaceio.lettuce.core.tracing.Tracing
-
includeCommandArgsInSpanTags
public boolean includeCommandArgsInSpanTags()- Specified by:
includeCommandArgsInSpanTags
in interfaceio.lettuce.core.tracing.Tracing
-
createEndpoint
- Specified by:
createEndpoint
in interfaceio.lettuce.core.tracing.Tracing
-