Class OtlpGrpcSpanExporterBuilder
java.lang.Object
io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporterBuilder
Builder utility for this exporter.
-
Method Summary
Modifier and TypeMethodDescriptionAdd a constant header to requests.build()Constructs a new instance of the exporter based on the builder's values.setChannel(io.grpc.ManagedChannel channel) Deprecated.setClientTls(byte[] privateKeyPem, byte[] certificatePem) Sets ths client key and the certificate chain to use for verifying client when TLS is enabled.setComponentLoader(io.opentelemetry.common.ComponentLoader componentLoader) Set theComponentLoaderused to load the sender API.setCompression(String compressionMethod) Sets the method used to compress payloads.setConnectTimeout(long timeout, TimeUnit unit) Sets the maximum time to wait for new connections to be established.setConnectTimeout(Duration timeout) Sets the maximum time to wait for new connections to be established.setEndpoint(String endpoint) Sets the OTLP endpoint to connect to.setExecutorService(ExecutorService executorService) Set theExecutorServiceused to execute requests.setHeaders(Supplier<Map<String, String>> headerSupplier) Set the supplier of headers to add to requests.setInternalTelemetryVersion(io.opentelemetry.sdk.common.InternalTelemetryVersion schemaVersion) Sets theInternalTelemetryVersiondefining which self-monitoring metrics this exporter collects.setMemoryMode(io.opentelemetry.sdk.common.export.MemoryMode memoryMode) Set theMemoryMode.setMeterProvider(io.opentelemetry.api.metrics.MeterProvider meterProvider) Sets theMeterProviderto use to collect metrics related to export.setMeterProvider(Supplier<io.opentelemetry.api.metrics.MeterProvider> meterProviderSupplier) Sets theMeterProvidersupplier used to collect metrics related to export.setRetryPolicy(io.opentelemetry.sdk.common.export.RetryPolicy retryPolicy) Set the retry policy, ornullto disable retry.setServiceClassLoader(ClassLoader serviceClassLoader) Set theClassLoaderused to load the sender API.setSslContext(SSLContext sslContext, X509TrustManager trustManager) Sets the "bring-your-own" SSLContext for use with TLS.setTimeout(long timeout, TimeUnit unit) Sets the maximum time to wait for the collector to process an exported batch of spans.setTimeout(Duration timeout) Sets the maximum time to wait for the collector to process an exported batch of spans.setTrustedCertificates(byte[] trustedCertificatesPem) Sets the certificate chain to use for verifying servers when TLS is enabled.
-
Method Details
-
setChannel
Deprecated.UsesetEndpoint(String). If you have a use case not satisfied by the methods on this builder, please file an issue to let us know what it is.Sets the managed chanel to use when communicating with the backend. Takes precedence oversetEndpoint(String)if both are called.Note: calling this overrides the spec compliant
User-Agentheader. To ensure spec compliance, setManagedChannelBuilder.userAgent(String)toOtlpUserAgent.getUserAgent()when building the channel.- Parameters:
channel- the channel to use- Returns:
- this builder's instance
-
setTimeout
Sets the maximum time to wait for the collector to process an exported batch of spans. If unset, defaults to 10Ls. -
setTimeout
Sets the maximum time to wait for the collector to process an exported batch of spans. If unset, defaults to 10Ls. -
setConnectTimeout
Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.- Since:
- 1.36.0
-
setConnectTimeout
Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.- Since:
- 1.36.0
-
setEndpoint
Sets the OTLP endpoint to connect to. If unset, defaults to "http://localhost:4317". The endpoint must start with either http:// or https://. -
setCompression
Sets the method used to compress payloads. If unset, compression is disabled. Compression method "gzip" and "none" are supported out of the box. Additional compression methods can be supported by providing customCompressorimplementations via the service loader. -
setTrustedCertificates
Sets the certificate chain to use for verifying servers when TLS is enabled. Thebyte[]should contain an X.509 certificate collection in PEM format. If not set, TLS connections will use the system default trusted certificates. -
setClientTls
Sets ths client key and the certificate chain to use for verifying client when TLS is enabled. The key must be PKCS8, and both must be in PEM format. -
setSslContext
public OtlpGrpcSpanExporterBuilder setSslContext(SSLContext sslContext, X509TrustManager trustManager) Sets the "bring-your-own" SSLContext for use with TLS. Users should call this _or_ set raw certificate bytes, but not both.- Since:
- 1.26.0
-
addHeader
Add a constant header to requests. If thekeycollides with another constant header name or a one fromsetHeaders(Supplier), the values from both are included. Applicable only ifsetChannel(ManagedChannel)is not used to set channel.- Parameters:
key- header keyvalue- header value- Returns:
- this builder's instance
-
setHeaders
Set the supplier of headers to add to requests. If a key from the map collides with a constant fromaddHeader(String, String), the values from both are included. Applicable only ifsetChannel(ManagedChannel)is not used to set channel.- Since:
- 1.33.0
-
setRetryPolicy
public OtlpGrpcSpanExporterBuilder setRetryPolicy(@Nullable io.opentelemetry.sdk.common.export.RetryPolicy retryPolicy) Set the retry policy, ornullto disable retry. Retry policy isRetryPolicy.getDefault()by default- Since:
- 1.28.0
-
setMeterProvider
public OtlpGrpcSpanExporterBuilder setMeterProvider(io.opentelemetry.api.metrics.MeterProvider meterProvider) Sets theMeterProviderto use to collect metrics related to export. If not set, usesGlobalOpenTelemetry.getMeterProvider(). -
setMeterProvider
public OtlpGrpcSpanExporterBuilder setMeterProvider(Supplier<io.opentelemetry.api.metrics.MeterProvider> meterProviderSupplier) Sets theMeterProvidersupplier used to collect metrics related to export. If not set, usesGlobalOpenTelemetry.getMeterProvider().- Since:
- 1.32.0
-
setInternalTelemetryVersion
public OtlpGrpcSpanExporterBuilder setInternalTelemetryVersion(io.opentelemetry.sdk.common.InternalTelemetryVersion schemaVersion) Sets theInternalTelemetryVersiondefining which self-monitoring metrics this exporter collects.- Since:
- 1.51.0
-
setMemoryMode
public OtlpGrpcSpanExporterBuilder setMemoryMode(io.opentelemetry.sdk.common.export.MemoryMode memoryMode) Set theMemoryMode. If unset, defaults toDEFAULT_MEMORY_MODE.When memory mode is
MemoryMode.REUSABLE_DATA, serialization is optimized to reduce memory allocation.- Since:
- 1.39.0
-
setServiceClassLoader
Set theClassLoaderused to load the sender API. Variant ofsetComponentLoader(ComponentLoader).- Since:
- 1.48.0
-
setComponentLoader
public OtlpGrpcSpanExporterBuilder setComponentLoader(io.opentelemetry.common.ComponentLoader componentLoader) Set theComponentLoaderused to load the sender API. -
setExecutorService
Set theExecutorServiceused to execute requests.NOTE: By calling this method, you are opting into managing the lifecycle of the
executorService.ExecutorService.shutdown()will NOT be called when this exporter is shutdown.- Since:
- 1.49.0
-
build
Constructs a new instance of the exporter based on the builder's values.- Returns:
- a new exporter's instance
-
setEndpoint(String).