Class OtlpGrpcMetricExporterBuilder
- Since:
- 1.14.0
-
Method Summary
Modifier and TypeMethodDescriptionAdd a constant header to requests.build()Constructs a new instance of the exporter based on the builder's values.setAggregationTemporalitySelector(io.opentelemetry.sdk.metrics.export.AggregationTemporalitySelector aggregationTemporalitySelector) Set theAggregationTemporalitySelectorused forAggregationTemporalitySelector.getAggregationTemporality(InstrumentType).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.setDefaultAggregationSelector(io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector defaultAggregationSelector) Set theDefaultAggregationSelectorused forMetricExporter.getDefaultAggregation(InstrumentType).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 to use 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 metrics.setTimeout(Duration timeout) Sets the maximum time to wait for the collector to process an exported batch of metrics.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 metrics. If unset, defaults to 10Ls. -
setTimeout
Sets the maximum time to wait for the collector to process an exported batch of metrics. 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 OtlpGrpcMetricExporterBuilder 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
-
setAggregationTemporalitySelector
public OtlpGrpcMetricExporterBuilder setAggregationTemporalitySelector(io.opentelemetry.sdk.metrics.export.AggregationTemporalitySelector aggregationTemporalitySelector) Set theAggregationTemporalitySelectorused forAggregationTemporalitySelector.getAggregationTemporality(InstrumentType).If unset, defaults to
AggregationTemporalitySelector.alwaysCumulative().AggregationTemporalitySelector.deltaPreferred()is a common configuration for delta backends. -
setDefaultAggregationSelector
public OtlpGrpcMetricExporterBuilder setDefaultAggregationSelector(io.opentelemetry.sdk.metrics.export.DefaultAggregationSelector defaultAggregationSelector) Set theDefaultAggregationSelectorused forMetricExporter.getDefaultAggregation(InstrumentType).If unset, defaults to
DefaultAggregationSelector.getDefault().- Since:
- 1.16.0
-
setRetryPolicy
public OtlpGrpcMetricExporterBuilder 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
-
setInternalTelemetryVersion
public OtlpGrpcMetricExporterBuilder setInternalTelemetryVersion(io.opentelemetry.sdk.common.InternalTelemetryVersion schemaVersion) Sets theInternalTelemetryVersiondefining which self-monitoring metrics this exporter collects.- Since:
- 1.51.0
-
setMeterProvider
public OtlpGrpcMetricExporterBuilder setMeterProvider(io.opentelemetry.api.metrics.MeterProvider meterProvider) Sets theMeterProviderto use to collect metrics related to export. If not set, usesGlobalOpenTelemetry.getMeterProvider().- Since:
- 1.50.0
-
setMeterProvider
public OtlpGrpcMetricExporterBuilder setMeterProvider(Supplier<io.opentelemetry.api.metrics.MeterProvider> meterProviderSupplier) Sets theMeterProvidersupplier to use to collect metrics related to export. If not set, usesGlobalOpenTelemetry.getMeterProvider().- Since:
- 1.50.0
-
setMemoryMode
public OtlpGrpcMetricExporterBuilder 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. 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
-
setServiceClassLoader
Set theClassLoaderused to load the sender API. Variant ofsetComponentLoader(ComponentLoader).- Since:
- 1.48.0
-
setComponentLoader
public OtlpGrpcMetricExporterBuilder 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).