Class OpenTelemetryConfig.BuilderBase<BUILDER extends OpenTelemetryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OpenTelemetryConfig>

java.lang.Object
io.helidon.telemetry.otelconfig.OpenTelemetryConfig.BuilderBase<BUILDER,PROTOTYPE>
Type Parameters:
BUILDER - type of the builder extending this abstract builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.Builder.buildPrototype()
All Implemented Interfaces:
Prototype.Builder<BUILDER,PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Direct Known Subclasses:
OpenTelemetryConfig.Builder
Enclosing interface:
OpenTelemetryConfig

public abstract static class OpenTelemetryConfig.BuilderBase<BUILDER extends OpenTelemetryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OpenTelemetryConfig> extends Object implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for OpenTelemetryConfig.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(OpenTelemetryConfig prototype)
      Update this builder from an existing prototype instance. This method disables automatic service discovery.
      Parameters:
      prototype - existing prototype to update this builder from
      Returns:
      updated builder instance
    • from

      public BUILDER from(OpenTelemetryConfig.BuilderBase<?,?> builder)
      Update this builder from an existing prototype builder instance.
      Parameters:
      builder - existing builder prototype to update this builder from
      Returns:
      updated builder instance
    • config

      @Deprecated public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends OpenTelemetryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OpenTelemetryConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • config

      public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends OpenTelemetryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OpenTelemetryConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • service

      public BUILDER service(String service)
      Service name used in sending telemetry data to the collector.
      Parameters:
      service - service name
      Returns:
      updated builder instance
      See Also:
    • enabled

      public BUILDER enabled(boolean enabled)
      Whether the OpenTelemetry support is enabled.
      Parameters:
      enabled - true if enabled; false otherwise
      Returns:
      updated builder instance
      See Also:
    • global

      public BUILDER global(boolean global)
      Whether the OpenTelemetry instance created from this configuration should be made the global one.
      Parameters:
      global - true if the configured instance should be made global; false otherwise
      Returns:
      updated builder instance
      See Also:
    • clearPropagators

      public BUILDER clearPropagators()
      Clear all propagators.
      Returns:
      updated builder instance
      See Also:
    • propagators

      public BUILDER propagators(List<? extends io.opentelemetry.context.propagation.TextMapPropagator> propagators)
      OpenTelemetry TextMapPropagator instances added explicitly by the app.

      Default: "tracecontext,baggage".

      Parameters:
      propagators - propagators
      Returns:
      updated builder instance
      See Also:
    • addPropagators

      public BUILDER addPropagators(List<? extends io.opentelemetry.context.propagation.TextMapPropagator> propagators)
      OpenTelemetry TextMapPropagator instances added explicitly by the app.

      Default: "tracecontext,baggage".

      Parameters:
      propagators - propagators
      Returns:
      updated builder instance
      See Also:
    • addPropagator

      public BUILDER addPropagator(io.opentelemetry.context.propagation.TextMapPropagator propagator)
      OpenTelemetry TextMapPropagator instances added explicitly by the app.

      Default: "tracecontext,baggage".

      Parameters:
      propagator - add single propagators
      Returns:
      updated builder instance
      See Also:
    • clearTracing

      public BUILDER clearTracing()
      Clear existing value of tracing.
      Returns:
      updated builder instance
      See Also:
    • tracing

      public BUILDER tracing(OpenTelemetryTracingConfig tracing)
      OpenTelemetry tracing settings.
      Parameters:
      tracing - tracing settings
      Returns:
      updated builder instance
      See Also:
    • tracing

      OpenTelemetry tracing settings.
      Parameters:
      consumer - consumer of builder of tracing settings
      Returns:
      updated builder instance
      See Also:
    • tracing

      public BUILDER tracing(Supplier<? extends OpenTelemetryTracingConfig> supplier)
      OpenTelemetry tracing settings.
      Parameters:
      supplier - supplier of tracing settings
      Returns:
      updated builder instance
      See Also:
    • clearMetrics

      public BUILDER clearMetrics()
      Clear existing value of metrics.
      Returns:
      updated builder instance
      See Also:
    • metrics

      public BUILDER metrics(OpenTelemetryMetricsConfig metrics)
      OpenTelemetry metrics settings.
      Parameters:
      metrics - metrics settings
      Returns:
      updated builder instance
      See Also:
    • metrics

      OpenTelemetry metrics settings.
      Parameters:
      consumer - consumer of builder of metrics settings
      Returns:
      updated builder instance
      See Also:
    • metrics

      public BUILDER metrics(Supplier<? extends OpenTelemetryMetricsConfig> supplier)
      OpenTelemetry metrics settings.
      Parameters:
      supplier - supplier of metrics settings
      Returns:
      updated builder instance
      See Also:
    • clearLogging

      public BUILDER clearLogging()
      Clear existing value of logging.
      Returns:
      updated builder instance
      See Also:
    • logging

      public BUILDER logging(OpenTelemetryLoggingConfig logging)
      OpenTelemetry logging settings.
      Parameters:
      logging - logging settings
      Returns:
      updated builder instance
      See Also:
    • logging

      OpenTelemetry logging settings.
      Parameters:
      consumer - consumer of builder of logging settings
      Returns:
      updated builder instance
      See Also:
    • logging

      public BUILDER logging(Supplier<? extends OpenTelemetryLoggingConfig> supplier)
      OpenTelemetry logging settings.
      Parameters:
      supplier - supplier of logging settings
      Returns:
      updated builder instance
      See Also:
    • openTelemetry

      public BUILDER openTelemetry(io.opentelemetry.api.OpenTelemetry openTelemetry)
      The OpenTelemetry instance to use for telemetry.

      Typically, this value will be the OpenTelemetry SDK instance created using this configuration, but if some other code (such as the OpenTelemetry agent) has already set the OTel global instance, this value will be that global instance.

      Parameters:
      openTelemetry - the OpenTelemetry instance
      Returns:
      updated builder instance
      See Also:
    • service

      public Optional<String> service()
      Service name used in sending telemetry data to the collector.
      Returns:
      service name
    • enabled

      public boolean enabled()
      Whether the OpenTelemetry support is enabled.
      Returns:
      true if enabled; false otherwise
    • global

      public boolean global()
      Whether the OpenTelemetry instance created from this configuration should be made the global one.
      Returns:
      true if the configured instance should be made global; false otherwise
    • propagators

      public List<io.opentelemetry.context.propagation.TextMapPropagator> propagators()
      OpenTelemetry TextMapPropagator instances added explicitly by the app.

      Default: "tracecontext,baggage".

      Returns:
      propagators
      See Also:
    • tracing

      OpenTelemetry tracing settings.
      Returns:
      tracing settings
    • metrics

      OpenTelemetry metrics settings.
      Returns:
      metrics settings
    • logging

      OpenTelemetry logging settings.
      Returns:
      logging settings
    • openTelemetry

      public Optional<io.opentelemetry.api.OpenTelemetry> openTelemetry()
      The OpenTelemetry instance to use for telemetry.

      Typically, this value will be the OpenTelemetry SDK instance created using this configuration, but if some other code (such as the OpenTelemetry agent) has already set the OTel global instance, this value will be that global instance.

      Returns:
      the OpenTelemetry instance
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • preBuildPrototype

      protected void preBuildPrototype()
      Handles providers and decorators.
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.
    • config

      protected Optional<Config> config()
      Configuration used to configure this instance.
      Returns:
      config instance