Interface AutoConfigurationCustomizer


public interface AutoConfigurationCustomizer
A builder for customizing OpenTelemetry auto-configuration.
  • Method Details

    • addPropagatorCustomizer

      AutoConfigurationCustomizer addPropagatorCustomizer(BiFunction<? super io.opentelemetry.context.propagation.TextMapPropagator,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.

    • addResourceCustomizer

      AutoConfigurationCustomizer addResourceCustomizer(BiFunction<? super io.opentelemetry.sdk.resources.Resource,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.

    • addSamplerCustomizer

      AutoConfigurationCustomizer addSamplerCustomizer(BiFunction<? super io.opentelemetry.sdk.trace.samplers.Sampler,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.

    • addSpanExporterCustomizer

      AutoConfigurationCustomizer addSpanExporterCustomizer(BiFunction<? super io.opentelemetry.sdk.trace.export.SpanExporter,ConfigProperties,? extends io.opentelemetry.sdk.trace.export.SpanExporter> exporterCustomizer)
      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.

    • addPropertiesSupplier

      AutoConfigurationCustomizer 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.

    • addPropertiesCustomizer

      default AutoConfigurationCustomizer addPropertiesCustomizer(Function<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.

      Since:
      1.17.0
    • addTracerProviderCustomizer

      default AutoConfigurationCustomizer addTracerProviderCustomizer(BiFunction<io.opentelemetry.sdk.trace.SdkTracerProviderBuilder,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.

      Note: calling SdkTracerProviderBuilder.setSampler(Sampler) inside of your configuration function will cause any sampler customizers to be ignored that were configured via addSamplerCustomizer(BiFunction). If you want to replace the default sampler, check out ConfigurableSamplerProvider and use addPropertiesSupplier(Supplier) to set `otel.traces.sampler` to your named sampler.

      Similarly, calling SdkTracerProviderBuilder.setResource(Resource) inside of your configuration function will cause any resource customizers to be ignored that were configured via addResourceCustomizer(BiFunction).

    • addMeterProviderCustomizer

      default AutoConfigurationCustomizer addMeterProviderCustomizer(BiFunction<io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder,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.

    • addMetricExporterCustomizer

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

      Multiple calls will execute the customizers in order.

    • addLoggerProviderCustomizer

      default AutoConfigurationCustomizer addLoggerProviderCustomizer(BiFunction<io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder,ConfigProperties,io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder> loggerProviderCustomizer)
      Adds a BiFunction to invoke the with the SdkLoggerProviderBuilder to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Since:
      1.19.0
    • addLogRecordExporterCustomizer

      default AutoConfigurationCustomizer addLogRecordExporterCustomizer(BiFunction<? super io.opentelemetry.sdk.logs.export.LogRecordExporter,ConfigProperties,? extends io.opentelemetry.sdk.logs.export.LogRecordExporter> exporterCustomizer)
      Adds a BiFunction to invoke with the default autoconfigured LogRecordExporter to allow customization. The return value of the BiFunction will replace the passed-in argument.

      Multiple calls will execute the customizers in order.

      Since:
      1.19.0