Interface TracerProvider

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 Details

    • 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 via Tracer.inject(SpanContext, Format, Object). This is to enable fine grained tuning of propagated headers for each implementation.
      Parameters:
      currentSpan - Current span covering the outbound call
      tracer - Tracer used
      parentSpan - Parent span context (may be null)
      outboundHeaders - Tracing headers map as configured by the tracer
      inboundHeaders - Existing inbound headers (may be empty if not within a scope of a request)
      Returns:
      new map of outbound headers, defaults to tracing headers