Interface OpenTelemetryConfig

All Superinterfaces:
Prototype.Api, Prototype.Factory<HelidonOpenTelemetry>
All Known Implementing Classes:
OpenTelemetryConfig.BuilderBase.OpenTelemetryConfigImpl

public interface OpenTelemetryConfig extends Prototype.Api
OpenTelemetry settings.
See Also:
  • Method Details

    • builder

      static OpenTelemetryConfig.Builder builder()
      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • create

      static OpenTelemetryConfig create(Config config)
      Create a new instance from configuration.
      Parameters:
      config - used to configure the new instance
      Returns:
      a new instance configured from configuration
    • create

      static OpenTelemetryConfig create()
      Create a new instance with default values.
      Returns:
      a new instance
    • service

      String service()
      Service name used in sending telemetry data to the collector.
      Returns:
      service name
    • resource

      Resource settings shared by all configured signals.
      Returns:
      resource settings
    • enabled

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

      boolean registered()
      Whether this configuration should contribute the application-wide OpenTelemetry instance through Helidon's service registry ownership path.
      Returns:
      true if the configured instance should be application-wide when resolved by the service registry; false otherwise
    • global

      boolean global()
      Whether the OpenTelemetry instance created from this configuration should be published as the OpenTelemetry global instance before any other code initializes GlobalOpenTelemetry, because OpenTelemetry globals are JVM-wide and can be assigned only once; if an OpenTelemetry global already exists, Helidon leaves it unchanged and uses the existing global as the application OpenTelemetry instance.
      Returns:
      true if the configured instance should be published to OpenTelemetry global; false otherwise
    • propagators

      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

      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, unless application code has set the instance explicitly on the builder.

      Returns:
      the OpenTelemetry instance