Class OtlpGrpcMetricExporterBuilder
- java.lang.Object
-
- io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporterBuilder
-
public final class OtlpGrpcMetricExporterBuilder extends java.lang.Object
Builder utility for this exporter.- 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.net.URI
DEFAULT_ENDPOINT
private static java.lang.String
DEFAULT_ENDPOINT_URL
private static MemoryMode
DEFAULT_MEMORY_MODE
private static long
DEFAULT_TIMEOUT_SECS
private DefaultAggregationSelector
defaultAggregationSelector
(package private) GrpcExporterBuilder<Marshaler>
delegate
(package private) static java.lang.String
GRPC_ENDPOINT_PATH
private static java.lang.String
GRPC_SERVICE_NAME
private MemoryMode
memoryMode
-
Constructor Summary
Constructors Constructor Description OtlpGrpcMetricExporterBuilder()
OtlpGrpcMetricExporterBuilder(GrpcExporterBuilder<Marshaler> delegate, MemoryMode memoryMode)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description OtlpGrpcMetricExporterBuilder
addHeader(java.lang.String key, java.lang.String value)
Add a constant header to requests.OtlpGrpcMetricExporter
build()
Constructs a new instance of the exporter based on the builder's values.OtlpGrpcMetricExporterBuilder
setAggregationTemporalitySelector(AggregationTemporalitySelector aggregationTemporalitySelector)
OtlpGrpcMetricExporterBuilder
setChannel(io.grpc.ManagedChannel channel)
Deprecated.UsesetEndpoint(String)
.OtlpGrpcMetricExporterBuilder
setClientTls(byte[] privateKeyPem, byte[] certificatePem)
Sets ths client key and the certificate chain to use for verifying client when TLS is enabled.OtlpGrpcMetricExporterBuilder
setCompression(java.lang.String compressionMethod)
Sets the method used to compress payloads.OtlpGrpcMetricExporterBuilder
setConnectTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for new connections to be established.OtlpGrpcMetricExporterBuilder
setConnectTimeout(java.time.Duration timeout)
Sets the maximum time to wait for new connections to be established.OtlpGrpcMetricExporterBuilder
setDefaultAggregationSelector(DefaultAggregationSelector defaultAggregationSelector)
OtlpGrpcMetricExporterBuilder
setEndpoint(java.lang.String endpoint)
Sets the OTLP endpoint to connect to.OtlpGrpcMetricExporterBuilder
setHeaders(java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> headerSupplier)
Set the supplier of headers to add to requests.OtlpGrpcMetricExporterBuilder
setMemoryMode(MemoryMode memoryMode)
Set theMemoryMode
.OtlpGrpcMetricExporterBuilder
setRetryPolicy(RetryPolicy retryPolicy)
Set the retry policy, ornull
to disable retry.OtlpGrpcMetricExporterBuilder
setSslContext(javax.net.ssl.SSLContext sslContext, javax.net.ssl.X509TrustManager trustManager)
Sets the "bring-your-own" SSLContext for use with TLS.OtlpGrpcMetricExporterBuilder
setTimeout(long timeout, java.util.concurrent.TimeUnit unit)
Sets the maximum time to wait for the collector to process an exported batch of metrics.OtlpGrpcMetricExporterBuilder
setTimeout(java.time.Duration timeout)
Sets the maximum time to wait for the collector to process an exported batch of metrics.OtlpGrpcMetricExporterBuilder
setTrustedCertificates(byte[] trustedCertificatesPem)
Sets the certificate chain to use for verifying servers when TLS is enabled.
-
-
-
Field Detail
-
GRPC_SERVICE_NAME
private static final java.lang.String GRPC_SERVICE_NAME
- See Also:
- Constant Field Values
-
GRPC_ENDPOINT_PATH
static final java.lang.String GRPC_ENDPOINT_PATH
- See Also:
- Constant Field Values
-
DEFAULT_ENDPOINT_URL
private static final java.lang.String DEFAULT_ENDPOINT_URL
- See Also:
- Constant Field Values
-
DEFAULT_ENDPOINT
private static final java.net.URI DEFAULT_ENDPOINT
-
DEFAULT_TIMEOUT_SECS
private static final long DEFAULT_TIMEOUT_SECS
- 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
final GrpcExporterBuilder<Marshaler> delegate
-
aggregationTemporalitySelector
private AggregationTemporalitySelector aggregationTemporalitySelector
-
defaultAggregationSelector
private DefaultAggregationSelector defaultAggregationSelector
-
memoryMode
private MemoryMode memoryMode
-
-
Constructor Detail
-
OtlpGrpcMetricExporterBuilder
OtlpGrpcMetricExporterBuilder(GrpcExporterBuilder<Marshaler> delegate, MemoryMode memoryMode)
-
OtlpGrpcMetricExporterBuilder
OtlpGrpcMetricExporterBuilder()
-
-
Method Detail
-
setChannel
@Deprecated public OtlpGrpcMetricExporterBuilder setChannel(io.grpc.ManagedChannel channel)
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-Agent
header. 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
public OtlpGrpcMetricExporterBuilder 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 OtlpGrpcMetricExporterBuilder 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 OtlpGrpcMetricExporterBuilder 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.36.0
-
setConnectTimeout
public OtlpGrpcMetricExporterBuilder setConnectTimeout(java.time.Duration timeout)
Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.- Since:
- 1.36.0
-
setEndpoint
public OtlpGrpcMetricExporterBuilder setEndpoint(java.lang.String endpoint)
Sets the OTLP endpoint to connect to. If unset, defaults to "http://localhost:4317". The endpoint must start with either http:// or https://.
-
setCompression
public OtlpGrpcMetricExporterBuilder 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
.
-
setTrustedCertificates
public OtlpGrpcMetricExporterBuilder 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 OtlpGrpcMetricExporterBuilder 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 OtlpGrpcMetricExporterBuilder 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
-
addHeader
public OtlpGrpcMetricExporterBuilder 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. Applicable only ifsetChannel(ManagedChannel)
is not used to set channel.- Parameters:
key
- header keyvalue
- header value- Returns:
- this builder's instance
-
setHeaders
public OtlpGrpcMetricExporterBuilder 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. Applicable only ifsetChannel(ManagedChannel)
is not used to set channel.- Since:
- 1.33.0
-
setAggregationTemporalitySelector
public OtlpGrpcMetricExporterBuilder 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 OtlpGrpcMetricExporterBuilder setDefaultAggregationSelector(DefaultAggregationSelector defaultAggregationSelector)
Set theDefaultAggregationSelector
used forMetricExporter.getDefaultAggregation(InstrumentType)
.If unset, defaults to
DefaultAggregationSelector.getDefault()
.- Since:
- 1.16.0
-
setRetryPolicy
public OtlpGrpcMetricExporterBuilder setRetryPolicy(@Nullable RetryPolicy retryPolicy)
Set the retry policy, ornull
to disable retry. Retry policy isRetryPolicy.getDefault()
by default- Since:
- 1.28.0
-
setMemoryMode
public OtlpGrpcMetricExporterBuilder 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
-
build
public OtlpGrpcMetricExporter build()
Constructs a new instance of the exporter based on the builder's values.- Returns:
- a new exporter's instance
-
-