Class OtlpHttpSpanExporterBuilder
- java.lang.Object
-
- io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporterBuilder
-
public final class OtlpHttpSpanExporterBuilder extends java.lang.Object
Builder utility forOtlpHttpSpanExporter
.- Since:
- 1.5.0
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
DEFAULT_ENDPOINT
private static MemoryMode
DEFAULT_MEMORY_MODE
private HttpExporterBuilder<Marshaler>
delegate
private MemoryMode
memoryMode
-
Constructor Summary
Constructors Constructor Description OtlpHttpSpanExporterBuilder()
OtlpHttpSpanExporterBuilder(HttpExporterBuilder<Marshaler> delegate, MemoryMode memoryMode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OtlpHttpSpanExporterBuilder
addHeader(java.lang.String key, java.lang.String value)
Add a constant header to requests.OtlpHttpSpanExporter
build()
Constructs a new instance of the exporter based on the builder's values.OtlpHttpSpanExporterBuilder
setClientTls(byte[] privateKeyPem, byte[] certificatePem)
Sets ths client key and the certificate chain to use for verifying client when TLS is enabled.OtlpHttpSpanExporterBuilder
setCompression(java.lang.String compressionMethod)
Sets the method used to compress payloads.OtlpHttpSpanExporterBuilder
setConnectTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for new connections to be established.OtlpHttpSpanExporterBuilder
setConnectTimeout(java.time.Duration timeout)
Sets the maximum time to wait for new connections to be established.OtlpHttpSpanExporterBuilder
setEndpoint(java.lang.String endpoint)
Sets the OTLP endpoint to connect to.OtlpHttpSpanExporterBuilder
setHeaders(java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> headerSupplier)
Set the supplier of headers to add to requests.OtlpHttpSpanExporterBuilder
setMemoryMode(MemoryMode memoryMode)
Set theMemoryMode
.OtlpHttpSpanExporterBuilder
setMeterProvider(MeterProvider meterProvider)
Sets theMeterProvider
to use to collect metrics related to export.OtlpHttpSpanExporterBuilder
setMeterProvider(java.util.function.Supplier<MeterProvider> meterProviderSupplier)
Sets theMeterProvider
supplier to use to collect metrics related to export.OtlpHttpSpanExporterBuilder
setProxy(ProxyOptions proxyOptions)
Sets the proxy options.OtlpHttpSpanExporterBuilder
setRetryPolicy(RetryPolicy retryPolicy)
Set the retry policy, ornull
to disable retry.OtlpHttpSpanExporterBuilder
setSslContext(javax.net.ssl.SSLContext sslContext, javax.net.ssl.X509TrustManager trustManager)
Sets the "bring-your-own" SSLContext for use with TLS.OtlpHttpSpanExporterBuilder
setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for the collector to process an exported batch of spans.OtlpHttpSpanExporterBuilder
setTimeout(java.time.Duration timeout)
Sets the maximum time to wait for the collector to process an exported batch of spans.OtlpHttpSpanExporterBuilder
setTrustedCertificates(byte[] trustedCertificatesPem)
Sets the certificate chain to use for verifying servers when TLS is enabled.
-
-
-
Field Detail
-
DEFAULT_ENDPOINT
private static final java.lang.String DEFAULT_ENDPOINT
- See Also:
- Constant Field Values
-
DEFAULT_MEMORY_MODE
private static final MemoryMode DEFAULT_MEMORY_MODE
-
delegate
private final HttpExporterBuilder<Marshaler> delegate
-
memoryMode
private MemoryMode memoryMode
-
-
Constructor Detail
-
OtlpHttpSpanExporterBuilder
OtlpHttpSpanExporterBuilder(HttpExporterBuilder<Marshaler> delegate, MemoryMode memoryMode)
-
OtlpHttpSpanExporterBuilder
OtlpHttpSpanExporterBuilder()
-
-
Method Detail
-
setTimeout
public OtlpHttpSpanExporterBuilder setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for the collector to process an exported batch of spans. If unset, defaults to 10Ls.
-
setTimeout
public OtlpHttpSpanExporterBuilder setTimeout(java.time.Duration timeout)
Sets the maximum time to wait for the collector to process an exported batch of spans. If unset, defaults to 10Ls.
-
setConnectTimeout
public OtlpHttpSpanExporterBuilder setConnectTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.- Since:
- 1.33.0
-
setConnectTimeout
public OtlpHttpSpanExporterBuilder setConnectTimeout(java.time.Duration timeout)
Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.- Since:
- 1.33.0
-
setEndpoint
public OtlpHttpSpanExporterBuilder setEndpoint(java.lang.String endpoint)
Sets the OTLP endpoint to connect to. If unset, defaults to "http://localhost:4318/v1/traces". The endpoint must start with either http:// or https://, and include the full HTTP path.
-
setCompression
public OtlpHttpSpanExporterBuilder setCompression(java.lang.String compressionMethod)
Sets the method used to compress payloads. If unset, compression is disabled. Compression method "gzip" and "none" are supported out of the box. Support for additional compression methods is available by implementingCompressor
andCompressorProvider
.
-
addHeader
public OtlpHttpSpanExporterBuilder addHeader(java.lang.String key, java.lang.String value)
Add a constant header to requests. If thekey
collides with another constant header name or a one fromsetHeaders(Supplier)
, the values from both are included.
-
setHeaders
public OtlpHttpSpanExporterBuilder setHeaders(java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> headerSupplier)
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.- Since:
- 1.33.0
-
setTrustedCertificates
public OtlpHttpSpanExporterBuilder setTrustedCertificates(byte[] trustedCertificatesPem)
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
public OtlpHttpSpanExporterBuilder setClientTls(byte[] privateKeyPem, byte[] certificatePem)
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 OtlpHttpSpanExporterBuilder setSslContext(javax.net.ssl.SSLContext sslContext, javax.net.ssl.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
-
setRetryPolicy
public OtlpHttpSpanExporterBuilder setRetryPolicy(@Nullable RetryPolicy retryPolicy)
Set the retry policy, ornull
to disable retry. Retry policy isRetryPolicy.getDefault()
by default- Since:
- 1.28.0
-
setProxy
public OtlpHttpSpanExporterBuilder setProxy(ProxyOptions proxyOptions)
Sets the proxy options. Proxying is disabled by default.- Since:
- 1.36.0
-
setMeterProvider
public OtlpHttpSpanExporterBuilder setMeterProvider(MeterProvider meterProvider)
Sets theMeterProvider
to use to collect metrics related to export. If not set, usesGlobalOpenTelemetry.getMeterProvider()
.
-
setMeterProvider
public OtlpHttpSpanExporterBuilder setMeterProvider(java.util.function.Supplier<MeterProvider> meterProviderSupplier)
Sets theMeterProvider
supplier to use to collect metrics related to export. If not set, usesGlobalOpenTelemetry.getMeterProvider()
.- Since:
- 1.32.0
-
setMemoryMode
public OtlpHttpSpanExporterBuilder setMemoryMode(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
-
build
public OtlpHttpSpanExporter build()
Constructs a new instance of the exporter based on the builder's values.- Returns:
- a new exporter's instance
-
-