-
- All Known Implementing Classes:
JaegerTracerProvider
,TracerResolverProvider
,ZipkinTracerProvider
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface TracerProvider
Java service to integrate various distributed tracers. The first tracer configured will be used.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TracerBuilder<?>
createBuilder()
Create a new builder for this tracer.default Map<String,List<String>>
updateOutboundHeaders(Span currentSpan, Tracer tracer, SpanContext parentSpan, Map<String,List<String>> outboundHeaders, Map<String,List<String>> inboundHeaders)
Update headers for outbound requests.
-
-
-
Method Detail
-
createBuilder
TracerBuilder<?> createBuilder()
Create a new builder for this tracer.- Returns:
- a tracer builder
-
updateOutboundHeaders
default Map<String,List<String>> updateOutboundHeaders(Span currentSpan, Tracer tracer, SpanContext parentSpan, Map<String,List<String>> outboundHeaders, Map<String,List<String>> inboundHeaders)
Update headers for outbound requests. The outboundHeaders already contain injected from tracer viaTracer.inject(SpanContext, Format, Object)
. This is to enable fine grained tuning of propagated headers for each implementation.- Parameters:
currentSpan
- Current span covering the outbound calltracer
- Tracer usedparentSpan
- Parent span context (may be null)outboundHeaders
- Tracing headers map as configured by the tracerinboundHeaders
- Existing inbound headers (may be empty if not within a scope of a request)- Returns:
- new map of outbound headers, defaults to tracing headers
-
-