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
Nested ClassesModifier and TypeClassDescriptionclassTracerimplementation based on Micrometer'sObservationRegistry.Nested classes/interfaces inherited from interface io.lettuce.core.tracing.Tracing
io.lettuce.core.tracing.Tracing.Endpoint -
Constructor Summary
ConstructorsConstructorDescriptionMicrometerTracingAdapter(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName) Create a newMicrometerTracingAdapterinstance.MicrometerTracingAdapter(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName, boolean includeCommandArgsInSpanTags) Create a newMicrometerTracingAdapterinstance. -
Method Summary
Modifier and TypeMethodDescriptionio.lettuce.core.tracing.Tracing.EndpointcreateEndpoint(SocketAddress socketAddress) io.lettuce.core.tracing.TracerProviderbooleanio.lettuce.core.tracing.TraceContextProviderboolean
-
Constructor Details
-
MicrometerTracingAdapter
public MicrometerTracingAdapter(io.micrometer.observation.ObservationRegistry observationRegistry, String serviceName) Create a newMicrometerTracingAdapterinstance.- 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 newMicrometerTracingAdapterinstance.- 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:
getTracerProviderin interfaceio.lettuce.core.tracing.Tracing
-
initialTraceContextProvider
public io.lettuce.core.tracing.TraceContextProvider initialTraceContextProvider()- Specified by:
initialTraceContextProviderin interfaceio.lettuce.core.tracing.Tracing
-
isEnabled
public boolean isEnabled()- Specified by:
isEnabledin interfaceio.lettuce.core.tracing.Tracing
-
includeCommandArgsInSpanTags
public boolean includeCommandArgsInSpanTags()- Specified by:
includeCommandArgsInSpanTagsin interfaceio.lettuce.core.tracing.Tracing
-
createEndpoint
- Specified by:
createEndpointin interfaceio.lettuce.core.tracing.Tracing
-