Class OtlpExporterConfigBuilder

java.lang.Object
io.quarkus.opentelemetry.runtime.config.runtime.exporter.OtlpExporterConfigBuilder
All Implemented Interfaces:
ConfigBuilder

public class OtlpExporterConfigBuilder extends Object implements ConfigBuilder
Adds fallbacks to OtlpExporterRuntimeConfig.traces() and OtlpExporterRuntimeConfig.metrics() from the base configuration OtlpExporterRuntimeConfig. The goal is to fallback specific properties from either tracer or metrics to their parent configuration. For instance, if there is no value for quarkus.otel.exporter.otlp.traces.endpoint it fallbacks to quarkus.otel.exporter.otlp.endpoint.

Defaults are set using the SmallRyeConfigBuilder.withDefaultValue(String, String), instead of WithDefault because the mapping OtlpExporterConfig is shared between base (unnamed), traces, and metrics, which means that every path would always have a default, and it won't be possible to fallback from the specific configuration to the base configuration.

This builder is only set to customize the runtime configuration since the mapping OtlpExporterRuntimeConfig is only for runtime. The builder executes with a very high priority to ensure that it sets the default configuration early in the config setup to allow other configurations to override it (like Dev Services).

  • Constructor Details

    • OtlpExporterConfigBuilder

      public OtlpExporterConfigBuilder()
  • Method Details

    • configBuilder

      public io.smallrye.config.SmallRyeConfigBuilder configBuilder(io.smallrye.config.SmallRyeConfigBuilder builder)
      Specified by:
      configBuilder in interface ConfigBuilder
    • priority

      public int priority()
      Specified by:
      priority in interface ConfigBuilder