Class PrometheusCollector
java.lang.Object
io.prometheus.client.Collector
io.opentelemetry.exporter.prometheus.PrometheusCollector
- All Implemented Interfaces:
io.opentelemetry.sdk.metrics.export.MetricReader
public final class PrometheusCollector
extends io.prometheus.client.Collector
implements io.opentelemetry.sdk.metrics.export.MetricReader
A reader of OpenTelemetry metrics that exports into Prometheus as a Collector.
Usage: sdkMeterProvider.registerMetricReader(PrometheusCollector.create());
-
Nested Class Summary
Nested classes/interfaces inherited from class io.prometheus.client.Collector
io.prometheus.client.Collector.Describable, io.prometheus.client.Collector.MetricFamilySamples, io.prometheus.client.Collector.Type
-
Field Summary
Fields inherited from class io.prometheus.client.Collector
MILLISECONDS_PER_SECOND, NANOSECONDS_PER_SECOND
-
Method Summary
Modifier and TypeMethodDescriptionList<io.prometheus.client.Collector.MetricFamilySamples>
collect()
static io.opentelemetry.sdk.metrics.export.MetricReaderFactory
create()
Returns a new collector to be registered with aSdkMeterProviderBuilder
.io.opentelemetry.sdk.common.CompletableResultCode
flush()
io.opentelemetry.sdk.metrics.data.AggregationTemporality
<T extends io.prometheus.client.Collector>
Tregister()
This method is called inMetricReaderFactory.apply(MetricProducer)
.io.opentelemetry.sdk.common.CompletableResultCode
shutdown()
Methods inherited from class io.prometheus.client.Collector
checkMetricLabelName, checkMetricName, collect, doubleToGoString, register, sanitizeMetricName
-
Method Details
-
register
public <T extends io.prometheus.client.Collector> T register()This method is called inMetricReaderFactory.apply(MetricProducer)
.Collector.register()
triggers a call tocollect()
, which throws an error becauseMetricProducer.collectAllMetrics()
is not yet read to accept calls. To get around this, we havecollect()
exit early until registration is complete.- Overrides:
register
in classio.prometheus.client.Collector
-
collect
- Specified by:
collect
in classio.prometheus.client.Collector
-
create
public static io.opentelemetry.sdk.metrics.export.MetricReaderFactory create()Returns a new collector to be registered with aSdkMeterProviderBuilder
. -
getPreferredTemporality
public io.opentelemetry.sdk.metrics.data.AggregationTemporality getPreferredTemporality()- Specified by:
getPreferredTemporality
in interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
flush
public io.opentelemetry.sdk.common.CompletableResultCode flush()- Specified by:
flush
in interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-
shutdown
public io.opentelemetry.sdk.common.CompletableResultCode shutdown()- Specified by:
shutdown
in interfaceio.opentelemetry.sdk.metrics.export.MetricReader
-