Class DistributedTracingConfigurationEnhancer
java.lang.Object
io.axoniq.framework.messaging.distributed.tracing.DistributedTracingConfigurationEnhancer
- All Implemented Interfaces:
ConfigurationEnhancer
@Internal
@RegistrationScope("Register decorators once at the root; do not re-invoke in child module registries (the DecoratorDefinitions are copied down and reach module-built components on their own). Re-invoking per nesting level re-registers the decorators and produces duplicate nested spans.")
public final class DistributedTracingConfigurationEnhancer
extends Object
implements ConfigurationEnhancer
ConfigurationEnhancer that wires tracing into the distributed bus connectors. Discovered automatically via
ServiceLoader, so having the axoniq-distributed-messaging module on the classpath is enough to enable
connector tracing.
A connector is only decorated when a non-no-op SpanFactory is configured and the corresponding toggle in
DistributedTracingSettings is enabled.
- Since:
- 5.3.0
- Author:
- Mateusz Nowak
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDecorator order for the distributed-tracing decorators. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidenhance(ComponentRegistry registry) intorder()Returns the relative order this enhancer should be invoked in, compared to other instances.
-
Field Details
-
TRACING_DECORATOR_ORDER
public static final int TRACING_DECORATOR_ORDERDecorator order for the distributed-tracing decorators. Near-maximal so tracing is applied last and is the outermost wrapper -- spans cover all inner decorators, and tracing wrappers are reliably detectable by an outermostinstanceofcheck. Same value and rationale asMessagingTracingConfigurationEnhancer#TRACING_DECORATOR_ORDER.- See Also:
-
-
Constructor Details
-
DistributedTracingConfigurationEnhancer
public DistributedTracingConfigurationEnhancer()
-
-
Method Details
-
enhance
Description copied from interface:ConfigurationEnhancer- Specified by:
enhancein interfaceConfigurationEnhancer- Parameters:
registry- The registry instance to enhance.
-
order
public int order()Description copied from interface:ConfigurationEnhancerReturns the relative order this enhancer should be invoked in, compared to other instances.Use lower (negative) values for enhancers providing sensible defaults, and higher values for enhancers that should be able to override values potentially previously set. Defaults to
0when not set.- Specified by:
orderin interfaceConfigurationEnhancer- Returns:
- The order in which this enhancer should be invoked.
-