Class AutoConfiguredOpenTelemetrySdkBuilder

java.lang.Object
io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder
All Implemented Interfaces:
io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer

public final class AutoConfiguredOpenTelemetrySdkBuilder extends Object implements io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
A builder for configuring auto-configuration of the OpenTelemetry SDK. Notably, auto-configured components can be customized, for example by delegating to them from a wrapper that tweaks behavior such as filtering out telemetry attributes.
  • Method Details

    • addTracerProviderCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addTracerProviderCustomizer(BiFunction<io.opentelemetry.sdk.trace.SdkTracerProviderBuilder,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,io.opentelemetry.sdk.trace.SdkTracerProviderBuilder> tracerProviderCustomizer)
      Adds a BiFunction to invoke the with the SdkTracerProviderBuilder to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addTracerProviderCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addPropagatorCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addPropagatorCustomizer(BiFunction<? super io.opentelemetry.context.propagation.TextMapPropagator,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,? extends io.opentelemetry.context.propagation.TextMapPropagator> propagatorCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured TextMapPropagator to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addPropagatorCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addResourceCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addResourceCustomizer(BiFunction<? super io.opentelemetry.sdk.resources.Resource,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,? extends io.opentelemetry.sdk.resources.Resource> resourceCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured Resource to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addResourceCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addSamplerCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addSamplerCustomizer(BiFunction<? super io.opentelemetry.sdk.trace.samplers.Sampler,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,? extends io.opentelemetry.sdk.trace.samplers.Sampler> samplerCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured Sampler to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addSamplerCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addSpanExporterCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addSpanExporterCustomizer(BiFunction<? super io.opentelemetry.sdk.trace.export.SpanExporter,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,? extends io.opentelemetry.sdk.trace.export.SpanExporter> spanExporterCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured SpanExporter to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addSpanExporterCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addPropertiesSupplier

      public AutoConfiguredOpenTelemetrySdkBuilder addPropertiesSupplier(Supplier<Map<String,String>> propertiesSupplier)
      Adds a Supplier of a map of property names and values to use as defaults for the ConfigProperties used during auto-configuration. The order of precedence of properties is system properties > environment variables > the suppliers registered with this method.

      Multiple calls will cause properties to be merged in order, with later ones overwriting duplicate keys in earlier ones.

      Specified by:
      addPropertiesSupplier in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addPropertiesCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addPropertiesCustomizer(Function<io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,Map<String,String>> propertiesCustomizer)
      Adds a Function to invoke the with the ConfigProperties to allow customization. The return value of the Function will be merged into the ConfigProperties before it is used for auto-configuration, overwriting the properties that are already there.

      Multiple calls will cause properties to be merged in order, with later ones overwriting duplicate keys in earlier ones.

      Specified by:
      addPropertiesCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addMeterProviderCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addMeterProviderCustomizer(BiFunction<io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder> meterProviderCustomizer)
      Adds a BiFunction to invoke the with the SdkMeterProviderBuilder to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addMeterProviderCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addMetricExporterCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addMetricExporterCustomizer(BiFunction<? super io.opentelemetry.sdk.metrics.export.MetricExporter,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,? extends io.opentelemetry.sdk.metrics.export.MetricExporter> metricExporterCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured SpanExporter to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addMetricExporterCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addLogEmitterProviderCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addLogEmitterProviderCustomizer(BiFunction<io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,io.opentelemetry.sdk.logs.SdkLogEmitterProviderBuilder> logEmitterProviderCustomizer)
      Adds a BiFunction to invoke the with the SdkLogEmitterProviderBuilder to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addLogEmitterProviderCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • addLogExporterCustomizer

      public AutoConfiguredOpenTelemetrySdkBuilder addLogExporterCustomizer(BiFunction<? super io.opentelemetry.sdk.logs.export.LogExporter,io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties,? extends io.opentelemetry.sdk.logs.export.LogExporter> logExporterCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured LogExporter to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Specified by:
      addLogExporterCustomizer in interface io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer
    • registerShutdownHook

      public AutoConfiguredOpenTelemetrySdkBuilder registerShutdownHook(boolean registerShutdownHook)
      Control the registration of a shutdown hook to shut down the SDK when appropriate. By default, the shutdown hook is registered.

      Skipping the registration of the shutdown hook may cause unexpected behavior. This configuration is for SDK consumers that require control over the SDK lifecycle. In this case, alternatives must be provided by the SDK consumer to shut down the SDK.

      Parameters:
      registerShutdownHook - a boolean true will register the hook, otherwise false will skip registration.
    • setResultAsGlobal

      public AutoConfiguredOpenTelemetrySdkBuilder setResultAsGlobal(boolean setResultAsGlobal)
      Sets whether the configured OpenTelemetrySdk should be set as the application's global instance.
    • setServiceClassLoader

      public AutoConfiguredOpenTelemetrySdkBuilder setServiceClassLoader(ClassLoader serviceClassLoader)
      Sets the ClassLoader to be used to load SPI implementations.
    • build

      Returns a new AutoConfiguredOpenTelemetrySdk holding components auto-configured using the settings of this AutoConfiguredOpenTelemetrySdkBuilder.