Class SdkTracerProviderBuilder

    • Method Detail

      • setClock

        public SdkTracerProviderBuilder setClock​(io.opentelemetry.sdk.common.Clock clock)
        Assign a Clock. Clock will be used each time a Span is started, ended or any event is recorded.

        The clock must be thread-safe and return immediately (no remote calls, as contention free as possible).

        Parameters:
        clock - The clock to use for all temporal needs.
        Returns:
        this
      • setIdGenerator

        public SdkTracerProviderBuilder setIdGenerator​(IdGenerator idGenerator)
        Assign an IdGenerator. IdGenerator will be used each time a Span is started.

        The idGenerator must be thread-safe and return immediately (no remote calls, as contention free as possible).

        Parameters:
        idGenerator - A generator for trace and span ids.
        Returns:
        this
      • setResource

        public SdkTracerProviderBuilder setResource​(io.opentelemetry.sdk.resources.Resource resource)
        Assign a Resource to be attached to all Spans created by Tracers.
        Parameters:
        resource - A Resource implementation.
        Returns:
        this
      • setSpanLimits

        public SdkTracerProviderBuilder setSpanLimits​(SpanLimits spanLimits)
        Assign an initial SpanLimits that should be used with this SDK.

        This method is equivalent to calling setSpanLimits(Supplier) like this #setSpanLimits(() -> spanLimits).

        Parameters:
        spanLimits - the limits that will be used for every Span.
        Returns:
        this
      • setSpanLimits

        public SdkTracerProviderBuilder setSpanLimits​(Supplier<SpanLimits> spanLimitsSupplier)
        Assign a Supplier of SpanLimits. SpanLimits will be retrieved each time a Span is started.

        The spanLimitsSupplier must be thread-safe and return immediately (no remote calls, as contention free as possible).

        Parameters:
        spanLimitsSupplier - the supplier that will be used to retrieve the SpanLimits for every Span.
        Returns:
        this
      • setSampler

        public SdkTracerProviderBuilder setSampler​(Sampler sampler)
        Assign a Sampler to use for sampling traces. Sampler will be called each time a Span is started.

        The sampler must be thread-safe and return immediately (no remote calls, as contention free as possible).

        Parameters:
        sampler - the Sampler to use for sampling traces.
        Returns:
        this
      • addSpanProcessor

        public SdkTracerProviderBuilder addSpanProcessor​(SpanProcessor spanProcessor)
        Add a SpanProcessor to the span pipeline that will be built. SpanProcessor will be called each time a Span is started or ended.

        The spanProcessor must be thread-safe and return immediately (no remote calls, as contention free as possible).

        Parameters:
        spanProcessor - the processor to be added to the processing pipeline.
        Returns:
        this
      • build

        public SdkTracerProvider build()
        Create a new TraceSdkProvider instance.
        Returns:
        An initialized TraceSdkProvider.