Class HttpExporterBuilder<T extends Marshaler>


  • public final class HttpExporterBuilder<T extends Marshaler>
    extends java.lang.Object
    A builder for HttpExporter.

    This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.

    • Field Detail

      • DEFAULT_CONNECT_TIMEOUT_SECS

        public static final long DEFAULT_CONNECT_TIMEOUT_SECS
        See Also:
        Constant Field Values
      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • exporterName

        private final java.lang.String exporterName
      • type

        private final java.lang.String type
      • endpoint

        private java.lang.String endpoint
      • timeoutNanos

        private long timeoutNanos
      • compressor

        @Nullable
        private Compressor compressor
      • connectTimeoutNanos

        private long connectTimeoutNanos
      • exportAsJson

        private boolean exportAsJson
      • constantHeaders

        private final java.util.Map<java.lang.String,​java.lang.String> constantHeaders
      • headerSupplier

        private java.util.function.Supplier<java.util.Map<java.lang.String,​java.lang.String>> headerSupplier
      • retryPolicy

        @Nullable
        private RetryPolicy retryPolicy
      • meterProviderSupplier

        private java.util.function.Supplier<MeterProvider> meterProviderSupplier
    • Constructor Detail

      • HttpExporterBuilder

        public HttpExporterBuilder​(java.lang.String exporterName,
                                   java.lang.String type,
                                   java.lang.String defaultEndpoint)
    • Method Detail

      • setTimeout

        public HttpExporterBuilder<T> setTimeout​(long timeout,
                                                 java.util.concurrent.TimeUnit unit)
      • setConnectTimeout

        public HttpExporterBuilder<T> setConnectTimeout​(long timeout,
                                                        java.util.concurrent.TimeUnit unit)
      • addConstantHeaders

        public HttpExporterBuilder<T> addConstantHeaders​(java.lang.String key,
                                                         java.lang.String value)
      • setHeadersSupplier

        public HttpExporterBuilder<T> setHeadersSupplier​(java.util.function.Supplier<java.util.Map<java.lang.String,​java.lang.String>> headerSupplier)
      • setTrustManagerFromCerts

        public HttpExporterBuilder<T> setTrustManagerFromCerts​(byte[] trustedCertificatesPem)
      • setKeyManagerFromCerts

        public HttpExporterBuilder<T> setKeyManagerFromCerts​(byte[] privateKeyPem,
                                                             byte[] certificatePem)
      • setSslContext

        public HttpExporterBuilder<T> setSslContext​(javax.net.ssl.SSLContext sslContext,
                                                    javax.net.ssl.X509TrustManager trustManager)
      • toString

        public java.lang.String toString​(boolean includePrefixAndSuffix)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • resolveHttpSenderProvider

        private static HttpSenderProvider resolveHttpSenderProvider()
        Resolve the HttpSenderProvider.

        If no HttpSenderProvider is available, throw IllegalStateException.

        If only one HttpSenderProvider is available, use it.

        If multiple are available and..

        • io.opentelemetry.exporter.internal.http.HttpSenderProvider is empty, use the first found.
        • io.opentelemetry.exporter.internal.http.HttpSenderProvider is set, use the matching provider. If none match, throw IllegalStateException.