Class OtlpHttpMetricExporterBuilder
- java.lang.Object
-
- io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporterBuilder
-
public final class OtlpHttpMetricExporterBuilder extends java.lang.ObjectBuilder utility forOtlpHttpMetricExporter.- Since:
- 1.14.0
-
-
Field Summary
Fields Modifier and Type Field Description private AggregationTemporalitySelectoraggregationTemporalitySelectorprivate static AggregationTemporalitySelectorDEFAULT_AGGREGATION_TEMPORALITY_SELECTORprivate static java.lang.StringDEFAULT_ENDPOINTprivate static MemoryModeDEFAULT_MEMORY_MODEprivate DefaultAggregationSelectordefaultAggregationSelectorprivate HttpExporterBuilder<Marshaler>delegateprivate MemoryModememoryMode
-
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 OtlpHttpMetricExporterBuilderaddHeader(java.lang.String key, java.lang.String value)Add a constant header to requests.OtlpHttpMetricExporterbuild()Constructs a new instance of the exporter based on the builder's values.(package private) OtlpHttpMetricExporterBuilderexportAsJson()OtlpHttpMetricExporterBuildersetAggregationTemporalitySelector(AggregationTemporalitySelector aggregationTemporalitySelector)OtlpHttpMetricExporterBuildersetClientTls(byte[] privateKeyPem, byte[] certificatePem)Sets ths client key and the certificate chain to use for verifying client when TLS is enabled.OtlpHttpMetricExporterBuildersetCompression(java.lang.String compressionMethod)Sets the method used to compress payloads.OtlpHttpMetricExporterBuildersetConnectTimeout(long timeout, java.util.concurrent.TimeUnit unit)Sets the maximum time to wait for new connections to be established.OtlpHttpMetricExporterBuildersetConnectTimeout(java.time.Duration timeout)Sets the maximum time to wait for new connections to be established.OtlpHttpMetricExporterBuildersetDefaultAggregationSelector(DefaultAggregationSelector defaultAggregationSelector)OtlpHttpMetricExporterBuildersetEndpoint(java.lang.String endpoint)Sets the OTLP endpoint to connect to.OtlpHttpMetricExporterBuildersetHeaders(java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> headerSupplier)Set the supplier of headers to add to requests.OtlpHttpMetricExporterBuildersetMemoryMode(MemoryMode memoryMode)Set theMemoryMode.OtlpHttpMetricExporterBuildersetProxyOptions(ProxyOptions proxyOptions)Sets the proxy options.OtlpHttpMetricExporterBuildersetRetryPolicy(RetryPolicy retryPolicy)Set the retry policy, ornullto disable retry.OtlpHttpMetricExporterBuildersetSslContext(javax.net.ssl.SSLContext sslContext, javax.net.ssl.X509TrustManager trustManager)Sets the "bring-your-own" SSLContext for use with TLS.OtlpHttpMetricExporterBuildersetTimeout(long timeout, java.util.concurrent.TimeUnit unit)Sets the maximum time to wait for the collector to process an exported batch of metrics.OtlpHttpMetricExporterBuildersetTimeout(java.time.Duration timeout)Sets the maximum time to wait for the collector to process an exported batch of metrics.OtlpHttpMetricExporterBuildersetTrustedCertificates(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 implementingCompressorandCompressorProvider.
-
addHeader
public OtlpHttpMetricExporterBuilder addHeader(java.lang.String key, java.lang.String value)
Add a constant header to requests. If thekeycollides 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 theAggregationTemporalitySelectorused 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 theDefaultAggregationSelectorused forMetricExporter.getDefaultAggregation(InstrumentType).If unset, defaults to
DefaultAggregationSelector.getDefault().- Since:
- 1.16.0
-
setRetryPolicy
public OtlpHttpMetricExporterBuilder setRetryPolicy(@Nullable RetryPolicy retryPolicy)
Set the retry policy, ornullto 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 toMetricDatabatches 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
-
-