Class GrpcExporterBuilder<T extends Marshaler>


  • public class GrpcExporterBuilder<T extends Marshaler>
    extends java.lang.Object
    A builder for GrpcExporter.

    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
      • grpcEndpointPath

        private final java.lang.String grpcEndpointPath
      • grpcStubFactory

        private final java.util.function.Supplier<java.util.function.BiFunction<io.grpc.Channel,​java.lang.String,​MarshalerServiceStub<T extends Marshaler,​?,​?>>> grpcStubFactory
      • timeoutNanos

        private long timeoutNanos
      • connectTimeoutNanos

        private long connectTimeoutNanos
      • endpoint

        private java.net.URI endpoint
      • compressor

        @Nullable
        private Compressor compressor
      • 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
      • grpcChannel

        @Nullable
        private java.lang.Object grpcChannel
    • Constructor Detail

      • GrpcExporterBuilder

        public GrpcExporterBuilder​(java.lang.String exporterName,
                                   java.lang.String type,
                                   long defaultTimeoutSecs,
                                   java.net.URI defaultEndpoint,
                                   java.util.function.Supplier<java.util.function.BiFunction<io.grpc.Channel,​java.lang.String,​MarshalerServiceStub<T,​?,​?>>> grpcStubFactory,
                                   java.lang.String grpcEndpointPath)
    • Method Detail

      • setTimeout

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

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

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

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

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

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

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

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

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

        private static GrpcSenderProvider resolveGrpcSenderProvider()
        Resolve the GrpcSenderProvider.

        If no GrpcSenderProvider is available, throw IllegalStateException.

        If only one GrpcSenderProvider is available, use it.

        If multiple are available and..

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