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

java.lang.Object
io.helidon.telemetry.otelconfig.OtlpExporterConfig.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:
LogRecordExporterConfig.BuilderBase, MetricExporterConfig.BuilderBase, OtlpExporterConfig.Builder, OtlpHttpExporterConfig.BuilderBase
Enclosing interface:
OtlpExporterConfig

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

    • BuilderBase

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

    • from

      public BUILDER from(OtlpExporterConfig 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(OtlpExporterConfig.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 OtlpExporterConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OtlpExporterConfig>
      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 OtlpExporterConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OtlpExporterConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • clearTimeout

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

      public BUILDER timeout(Duration timeout)
      Exporter timeout.
      Parameters:
      timeout - exporter timeout
      Returns:
      updated builder instance
      See Also:
    • clearConnectTimeout

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

      public BUILDER connectTimeout(Duration connectTimeout)
      Connection timeout.
      Parameters:
      connectTimeout - connection timeout
      Returns:
      updated builder instance
      See Also:
    • clearEndpoint

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

      public BUILDER endpoint(URI endpoint)
      Endpoint of the collector to which the exporter should transmit.
      Parameters:
      endpoint - collector endpoint
      Returns:
      updated builder instance
      See Also:
    • clearCompression

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

      public BUILDER compression(CompressionType compression)
      Compression the exporter uses.
      Parameters:
      compression - compression type
      Returns:
      updated builder instance
      See Also:
    • headers

      public BUILDER headers(Map<String,String> headers)
      Headers added to each export message. This method replaces all values with the new ones.
      Parameters:
      headers - added headers
      Returns:
      updated builder instance
      See Also:
    • addHeaders

      public BUILDER addHeaders(Map<String,String> headers)
      Headers added to each export message. This method keeps existing values, then puts all new values into the map.
      Parameters:
      headers - added headers
      Returns:
      updated builder instance
      See Also:
    • clearClientTlsPrivateKeyPem

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

      public BUILDER clientTlsPrivateKeyPem(Resource clientTlsPrivateKeyPem)
      TLS client key.
      Parameters:
      clientTlsPrivateKeyPem - TLS client key
      Returns:
      updated builder instance
      See Also:
    • clientTlsPrivateKeyPem

      public BUILDER clientTlsPrivateKeyPem(ResourceConfig clientTlsPrivateKeyPem)
      TLS client key.
      Parameters:
      clientTlsPrivateKeyPem - prototype of TLS client key
      Returns:
      updated builder instance
      See Also:
    • clientTlsPrivateKeyPem

      public BUILDER clientTlsPrivateKeyPem(Consumer<ResourceConfig.Builder> consumer)
      TLS client key.
      Parameters:
      consumer - consumer of builder of TLS client key
      Returns:
      updated builder instance
      See Also:
    • clientTlsPrivateKeyPem

      public BUILDER clientTlsPrivateKeyPem(Supplier<? extends Resource> supplier)
      TLS client key.
      Parameters:
      supplier - supplier of TLS client key
      Returns:
      updated builder instance
      See Also:
    • clearClientTlsCertificatePem

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

      public BUILDER clientTlsCertificatePem(Resource clientTlsCertificatePem)
      TLS certificate.
      Parameters:
      clientTlsCertificatePem - TLS certificate
      Returns:
      updated builder instance
      See Also:
    • clientTlsCertificatePem

      public BUILDER clientTlsCertificatePem(ResourceConfig clientTlsCertificatePem)
      TLS certificate.
      Parameters:
      clientTlsCertificatePem - prototype of TLS certificate
      Returns:
      updated builder instance
      See Also:
    • clientTlsCertificatePem

      public BUILDER clientTlsCertificatePem(Consumer<ResourceConfig.Builder> consumer)
      TLS certificate.
      Parameters:
      consumer - consumer of builder of TLS certificate
      Returns:
      updated builder instance
      See Also:
    • clientTlsCertificatePem

      public BUILDER clientTlsCertificatePem(Supplier<? extends Resource> supplier)
      TLS certificate.
      Parameters:
      supplier - supplier of TLS certificate
      Returns:
      updated builder instance
      See Also:
    • clearTrustedCertificatesPem

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

      public BUILDER trustedCertificatesPem(Resource trustedCertificatesPem)
      Trusted certificates.
      Parameters:
      trustedCertificatesPem - trusted certificates
      Returns:
      updated builder instance
      See Also:
    • trustedCertificatesPem

      public BUILDER trustedCertificatesPem(ResourceConfig trustedCertificatesPem)
      Trusted certificates.
      Parameters:
      trustedCertificatesPem - prototype of trusted certificates
      Returns:
      updated builder instance
      See Also:
    • trustedCertificatesPem

      public BUILDER trustedCertificatesPem(Consumer<ResourceConfig.Builder> consumer)
      Trusted certificates.
      Parameters:
      consumer - consumer of builder of trusted certificates
      Returns:
      updated builder instance
      See Also:
    • trustedCertificatesPem

      public BUILDER trustedCertificatesPem(Supplier<? extends Resource> supplier)
      Trusted certificates.
      Parameters:
      supplier - supplier of trusted certificates
      Returns:
      updated builder instance
      See Also:
    • clearRetryPolicy

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

      public BUILDER retryPolicy(io.opentelemetry.sdk.common.export.RetryPolicy retryPolicy)
      Retry policy.
      Parameters:
      retryPolicy - retry policy
      Returns:
      updated builder instance
      See Also:
    • retryPolicy

      public BUILDER retryPolicy(Consumer<io.opentelemetry.sdk.common.export.RetryPolicy.RetryPolicyBuilder> consumer)
      Retry policy.
      Parameters:
      consumer - consumer of builder of retry policy
      Returns:
      updated builder instance
      See Also:
    • retryPolicy

      public BUILDER retryPolicy(Supplier<? extends io.opentelemetry.sdk.common.export.RetryPolicy> supplier)
      Retry policy.
      Parameters:
      supplier - supplier of retry policy
      Returns:
      updated builder instance
      See Also:
    • clearProtocol

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

      public BUILDER protocol(OtlpExporterProtocolType protocol)
      Exporter protocol type.
      Parameters:
      protocol - exporter protocol type
      Returns:
      updated builder instance
      See Also:
    • clearMemoryMode

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

      public BUILDER memoryMode(io.opentelemetry.sdk.common.export.MemoryMode memoryMode)
      Memory mode.
      Parameters:
      memoryMode - memory mode
      Returns:
      updated builder instance
      See Also:
    • clearInternalTelemetryVersion

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

      public BUILDER internalTelemetryVersion(io.opentelemetry.sdk.common.InternalTelemetryVersion internalTelemetryVersion)
      Self-monitoring telemetry OpenTelemetry should collect.
      Parameters:
      internalTelemetryVersion - telemetry version
      Returns:
      updated builder instance
      See Also:
    • clearSslContext

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

      public BUILDER sslContext(SSLContext sslContext)
      SSL context for the exporter.
      Parameters:
      sslContext - SSL context
      Returns:
      updated builder instance
      See Also:
    • clearTrustManager

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

      public BUILDER trustManager(X509TrustManager trustManager)
      X509 trust manager for the exporter.
      Parameters:
      trustManager - X509 trust manager
      Returns:
      updated builder instance
      See Also:
    • clearMeterProvider

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

      public BUILDER meterProvider(io.opentelemetry.api.metrics.MeterProvider meterProvider)
      Meter provider for the exporter.
      Parameters:
      meterProvider - meter provider
      Returns:
      updated builder instance
      See Also:
    • timeout

      public Optional<Duration> timeout()
      Exporter timeout.
      Returns:
      exporter timeout
    • connectTimeout

      public Optional<Duration> connectTimeout()
      Connection timeout.
      Returns:
      connection timeout
    • endpoint

      public Optional<URI> endpoint()
      Endpoint of the collector to which the exporter should transmit.
      Returns:
      collector endpoint
    • compression

      public Optional<CompressionType> compression()
      Compression the exporter uses.
      Returns:
      compression type
    • headers

      public Map<String,String> headers()
      Headers added to each export message.
      Returns:
      added headers
    • clientTlsPrivateKeyPem

      public Optional<Resource> clientTlsPrivateKeyPem()
      TLS client key.
      Returns:
      TLS client key
    • clientTlsCertificatePem

      public Optional<Resource> clientTlsCertificatePem()
      TLS certificate.
      Returns:
      TLS certificate
    • trustedCertificatesPem

      public Optional<Resource> trustedCertificatesPem()
      Trusted certificates.
      Returns:
      trusted certificates
    • retryPolicy

      public Optional<io.opentelemetry.sdk.common.export.RetryPolicy> retryPolicy()
      Retry policy.
      Returns:
      retry policy
    • protocol

      public Optional<OtlpExporterProtocolType> protocol()
      Exporter protocol type.
      Returns:
      exporter protocol type
    • memoryMode

      public Optional<io.opentelemetry.sdk.common.export.MemoryMode> memoryMode()
      Memory mode.
      Returns:
      memory mode
    • internalTelemetryVersion

      public Optional<io.opentelemetry.sdk.common.InternalTelemetryVersion> internalTelemetryVersion()
      Self-monitoring telemetry OpenTelemetry should collect.
      Returns:
      telemetry version
    • sslContext

      public Optional<SSLContext> sslContext()
      SSL context for the exporter.
      Returns:
      SSL context
    • trustManager

      public Optional<X509TrustManager> trustManager()
      X509 trust manager for the exporter.
      Returns:
      X509 trust manager
    • meterProvider

      public Optional<io.opentelemetry.api.metrics.MeterProvider> meterProvider()
      Meter provider for the exporter.
      Returns:
      meter provider
    • 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