Package org.apache.camel.tracing
Class ActiveSpanManager
java.lang.Object
org.apache.camel.tracing.ActiveSpanManager
Utility class for managing active spans as a stack associated with an exchange.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Simple holder for the currently active span and an optional reference to the parent holder. -
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
activate
(org.apache.camel.Exchange exchange, SpanAdapter span) This method activates the supplied span for the supplied exchange.static void
deactivate
(org.apache.camel.Exchange exchange) This method deactivates an existing active span associated with the supplied exchange.static void
endScope
(org.apache.camel.Exchange exchange) If underlying span is active, closes its scope without ending the span.static SpanAdapter
getSpan
(org.apache.camel.Exchange exchange) This method returns the current active span associated with the exchange.
-
Field Details
-
MDC_TRACE_ID
- See Also:
-
MDC_SPAN_ID
- See Also:
-
-
Method Details
-
getSpan
This method returns the current active span associated with the exchange.- Parameters:
exchange
- The exchange- Returns:
- The current active span, or null if none exists
-
activate
This method activates the supplied span for the supplied exchange. If an existing span is found for the exchange, this will be pushed onto a stack.- Parameters:
exchange
- The exchangespan
- The span
-
deactivate
public static void deactivate(org.apache.camel.Exchange exchange) This method deactivates an existing active span associated with the supplied exchange. Once deactivated, if a parent span is found associated with the stack for the exchange, it will be restored as the current span for that exchange.- Parameters:
exchange
- The exchange
-
endScope
public static void endScope(org.apache.camel.Exchange exchange) If underlying span is active, closes its scope without ending the span. This methods should be called after async execution is started on the same thread on which span was activated. ExchangeAsyncStartedEvent is used to notify about it.- Parameters:
exchange
- The exchange
-