Class OtlpHttpMetricExporterBuilder
- java.lang.Object
-
- io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporterBuilder
-
public final class OtlpHttpMetricExporterBuilder extends java.lang.Object
Builder utility forOtlpHttpMetricExporter
.- Since:
- 1.14.0
-
-
Field Summary
Fields Modifier and Type Field Description private AggregationTemporalitySelector
aggregationTemporalitySelector
private static AggregationTemporalitySelector
DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR
private static java.lang.String
DEFAULT_ENDPOINT
private static MemoryMode
DEFAULT_MEMORY_MODE
private DefaultAggregationSelector
defaultAggregationSelector
private HttpExporterBuilder<Marshaler>
delegate
private MemoryMode
memoryMode
-
Constructor Summary
Constructors Constructor Description OtlpHttpMetricExporterBuilder()
OtlpHttpMetricExporterBuilder(HttpExporterBuilder<Marshaler> delegate, MemoryMode memoryMode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OtlpHttpMetricExporterBuilder
addHeader(java.lang.String key, java.lang.String value)
Add a constant header to requests.OtlpHttpMetricExporter
build()
Constructs a new instance of the exporter based on the builder's values.(package private) OtlpHttpMetricExporterBuilder
exportAsJson()
OtlpHttpMetricExporterBuilder
setAggregationTemporalitySelector(AggregationTemporalitySelector aggregationTemporalitySelector)
OtlpHttpMetricExporterBuilder
setClientTls(byte[] privateKeyPem, byte[] certificatePem)
Sets ths client key and the certificate chain to use for verifying client when TLS is enabled.OtlpHttpMetricExporterBuilder
setCompression(java.lang.String compressionMethod)
Sets the method used to compress payloads.OtlpHttpMetricExporterBuilder
setConnectTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for new connections to be established.OtlpHttpMetricExporterBuilder
setConnectTimeout(java.time.Duration timeout)
Sets the maximum time to wait for new connections to be established.OtlpHttpMetricExporterBuilder
setDefaultAggregationSelector(DefaultAggregationSelector defaultAggregationSelector)
OtlpHttpMetricExporterBuilder
setEndpoint(java.lang.String endpoint)
Sets the OTLP endpoint to connect to.OtlpHttpMetricExporterBuilder
setHeaders(java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> headerSupplier)
Set the supplier of headers to add to requests.OtlpHttpMetricExporterBuilder
setMemoryMode(MemoryMode memoryMode)
Set theMemoryMode
.OtlpHttpMetricExporterBuilder
setProxyOptions(ProxyOptions proxyOptions)
Sets the proxy options.OtlpHttpMetricExporterBuilder
setRetryPolicy(RetryPolicy retryPolicy)
Set the retry policy, ornull
to disable retry.OtlpHttpMetricExporterBuilder
setSslContext(javax.net.ssl.SSLContext sslContext, javax.net.ssl.X509TrustManager trustManager)
Sets the "bring-your-own" SSLContext for use with TLS.OtlpHttpMetricExporterBuilder
setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for the collector to process an exported batch of metrics.OtlpHttpMetricExporterBuilder
setTimeout(java.time.Duration timeout)
Sets the maximum time to wait for the collector to process an exported batch of metrics.OtlpHttpMetricExporterBuilder
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_AGGREGATION_TEMPORALITY_SELECTOR
private static final AggregationTemporalitySelector DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR
-
DEFAULT_MEMORY_MODE
private static final MemoryMode DEFAULT_MEMORY_MODE
-
delegate
private final HttpExporterBuilder<Marshaler> delegate
-
aggregationTemporalitySelector
private AggregationTemporalitySelector aggregationTemporalitySelector
-
defaultAggregationSelector
private DefaultAggregationSelector defaultAggregationSelector
-
memoryMode
private MemoryMode memoryMode
-
-
Constructor Detail
-
OtlpHttpMetricExporterBuilder
OtlpHttpMetricExporterBuilder(HttpExporterBuilder<Marshaler> delegate, MemoryMode memoryMode)
-
OtlpHttpMetricExporterBuilder
OtlpHttpMetricExporterBuilder()
-
-
Method Detail
-
setTimeout
public OtlpHttpMetricExporterBuilder setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for the collector to process an exported batch of metrics. If unset, defaults to 10Ls.
-
setTimeout
public OtlpHttpMetricExporterBuilder setTimeout(java.time.Duration timeout)
Sets the maximum time to wait for the collector to process an exported batch of metrics. If unset, defaults to 10Ls.
-
setConnectTimeout
public OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder setEndpoint(java.lang.String endpoint)
Sets the OTLP endpoint to connect to. If unset, defaults to "http://localhost:4318/v1/metrics". The endpoint must start with either http:// or https://, and include the full HTTP path.
-
setCompression
public OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder 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 OtlpHttpMetricExporterBuilder 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
-
setAggregationTemporalitySelector
public OtlpHttpMetricExporterBuilder setAggregationTemporalitySelector(AggregationTemporalitySelector aggregationTemporalitySelector)
Set theAggregationTemporalitySelector
used forAggregationTemporalitySelector.getAggregationTemporality(InstrumentType)
.If unset, defaults to
AggregationTemporalitySelector.alwaysCumulative()
.AggregationTemporalitySelector.deltaPreferred()
is a common configuration for delta backends.
-
setDefaultAggregationSelector
public OtlpHttpMetricExporterBuilder setDefaultAggregationSelector(DefaultAggregationSelector defaultAggregationSelector)
Set theDefaultAggregationSelector
used forMetricExporter.getDefaultAggregation(InstrumentType)
.If unset, defaults to
DefaultAggregationSelector.getDefault()
.- Since:
- 1.16.0
-
setRetryPolicy
public OtlpHttpMetricExporterBuilder setRetryPolicy(@Nullable RetryPolicy retryPolicy)
Set the retry policy, ornull
to disable retry. Retry policy isRetryPolicy.getDefault()
by default- Since:
- 1.28.0
-
setProxyOptions
public OtlpHttpMetricExporterBuilder setProxyOptions(ProxyOptions proxyOptions)
Sets the proxy options. Proxying is disabled by default.- Since:
- 1.36.0
-
setMemoryMode
public OtlpHttpMetricExporterBuilder 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. Additionally, the value is used forMetricExporter.getMemoryMode()
, which sends a signal to the metrics SDK to reuse memory when possible. This is safe and desirable for most use cases, but should be used with caution of wrapping and delegating to the exporter. It is not safe for the wrapping exporter to hold onto references toMetricData
batches since the same data structures will be reused in subsequent calls toMetricExporter.export(Collection)
.- Since:
- 1.39.0
-
exportAsJson
OtlpHttpMetricExporterBuilder exportAsJson()
-
build
public OtlpHttpMetricExporter build()
Constructs a new instance of the exporter based on the builder's values.- Returns:
- a new exporter's instance
-
-