Package io.micrometer.prometheusmetrics
Class PrometheusMeterRegistry
java.lang.Object
io.micrometer.core.instrument.MeterRegistry
io.micrometer.prometheusmetrics.PrometheusMeterRegistry
public class PrometheusMeterRegistry
extends io.micrometer.core.instrument.MeterRegistry
MeterRegistry
for Prometheus.- Since:
- 1.13.0
-
Nested Class Summary
Nested classes/interfaces inherited from class io.micrometer.core.instrument.MeterRegistry
io.micrometer.core.instrument.MeterRegistry.Config, io.micrometer.core.instrument.MeterRegistry.More
-
Field Summary
Fields inherited from class io.micrometer.core.instrument.MeterRegistry
clock
-
Constructor Summary
ConstructorsConstructorDescriptionPrometheusMeterRegistry
(PrometheusConfig config, io.prometheus.metrics.model.registry.PrometheusRegistry registry, io.micrometer.core.instrument.Clock clock) PrometheusMeterRegistry
(PrometheusConfig config, io.prometheus.metrics.model.registry.PrometheusRegistry registry, io.micrometer.core.instrument.Clock clock, io.prometheus.metrics.tracer.common.SpanContext spanContext) Create aPrometheusMeterRegistry
instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected io.micrometer.core.instrument.distribution.DistributionStatisticConfig
protected TimeUnit
io.prometheus.metrics.model.registry.PrometheusRegistry
protected void
meterRegistrationFailed
(io.micrometer.core.instrument.Meter.Id id, String reason) io.micrometer.core.instrument.Counter
newCounter
(io.micrometer.core.instrument.Meter.Id id) io.micrometer.core.instrument.DistributionSummary
newDistributionSummary
(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, double scale) protected <T> io.micrometer.core.instrument.FunctionCounter
newFunctionCounter
(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> countFunction) protected <T> io.micrometer.core.instrument.FunctionTimer
newFunctionTimer
(io.micrometer.core.instrument.Meter.Id id, T obj, ToLongFunction<T> countFunction, ToDoubleFunction<T> totalTimeFunction, TimeUnit totalTimeFunctionUnit) protected <T> io.micrometer.core.instrument.Gauge
newGauge
(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> valueFunction) protected io.micrometer.core.instrument.LongTaskTimer
newLongTaskTimer
(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig) protected io.micrometer.core.instrument.Meter
newMeter
(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.Meter.Type type, Iterable<io.micrometer.core.instrument.Measurement> measurements) protected io.micrometer.core.instrument.Timer
newTimer
(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, io.micrometer.core.instrument.distribution.pause.PauseDetector pauseDetector) scrape()
void
scrape
(OutputStream outputStream) Scrape to the specified output stream in Prometheus text format.void
scrape
(OutputStream outputStream, String contentType) Write the metrics scrape body in a specific content type to the given output stream.void
scrape
(OutputStream outputStream, String contentType, Set<String> includedNames) Scrape to the specified output stream.Get the metrics scrape body in a specific content type.Return text for scraping.For use withMeterRegistry.Config#onMeterRegistrationFailed(BiConsumer)
when you want meters with the same name but different tags to cause an unchecked exception.Methods inherited from class io.micrometer.core.instrument.MeterRegistry
clear, close, config, counter, counter, find, forEachMeter, gauge, gauge, gauge, gauge, gaugeCollectionSize, gaugeMapSize, get, getConventionName, getConventionTags, getMeters, isClosed, more, newLongTaskTimer, newTimeGauge, remove, remove, removeByPreFilterId, summary, summary, timer, timer
-
Constructor Details
-
PrometheusMeterRegistry
-
PrometheusMeterRegistry
public PrometheusMeterRegistry(PrometheusConfig config, io.prometheus.metrics.model.registry.PrometheusRegistry registry, io.micrometer.core.instrument.Clock clock) -
PrometheusMeterRegistry
public PrometheusMeterRegistry(PrometheusConfig config, io.prometheus.metrics.model.registry.PrometheusRegistry registry, io.micrometer.core.instrument.Clock clock, @Nullable io.prometheus.metrics.tracer.common.SpanContext spanContext) Create aPrometheusMeterRegistry
instance.- Parameters:
config
- configurationregistry
- prometheus registryclock
- clockspanContext
- span context that interacts with the used tracing library
-
-
Method Details
-
scrape
- Returns:
- Content in Prometheus text format for the response body of an endpoint designated for Prometheus to scrape.
-
scrape
Get the metrics scrape body in a specific content type.- Parameters:
contentType
- the scrape Content-Type- Returns:
- the scrape body
- See Also:
-
scrape
Scrape to the specified output stream in Prometheus text format.- Parameters:
outputStream
- Target that serves the content to be scraped by Prometheus.- Throws:
IOException
- if writing fails
-
scrape
Write the metrics scrape body in a specific content type to the given output stream.- Parameters:
outputStream
- where to write the scrape bodycontentType
- the Content-Type of the scrape- Throws:
IOException
- if writing fails- See Also:
-
scrape
Return text for scraping.- Parameters:
contentType
- the Content-Type of the scrape.includedNames
- Sample names to be included. All samples will be included ifnull
.- Returns:
- Content that should be included in the response body for an endpoint designated for Prometheus to scrape from.
- See Also:
-
scrape
public void scrape(OutputStream outputStream, String contentType, @Nullable Set<String> includedNames) throws IOException Scrape to the specified output stream.- Parameters:
outputStream
- Target that serves the content to be scraped by Prometheus.contentType
- the Content-Type of the scrape.includedNames
- Sample names to be included. All samples will be included ifnull
.- Throws:
IOException
- if writing fails- See Also:
-
newCounter
public io.micrometer.core.instrument.Counter newCounter(io.micrometer.core.instrument.Meter.Id id) - Specified by:
newCounter
in classio.micrometer.core.instrument.MeterRegistry
-
newDistributionSummary
public io.micrometer.core.instrument.DistributionSummary newDistributionSummary(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, double scale) - Specified by:
newDistributionSummary
in classio.micrometer.core.instrument.MeterRegistry
-
newTimer
protected io.micrometer.core.instrument.Timer newTimer(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, io.micrometer.core.instrument.distribution.pause.PauseDetector pauseDetector) - Specified by:
newTimer
in classio.micrometer.core.instrument.MeterRegistry
-
newGauge
protected <T> io.micrometer.core.instrument.Gauge newGauge(io.micrometer.core.instrument.Meter.Id id, @Nullable T obj, ToDoubleFunction<T> valueFunction) - Specified by:
newGauge
in classio.micrometer.core.instrument.MeterRegistry
-
newLongTaskTimer
protected io.micrometer.core.instrument.LongTaskTimer newLongTaskTimer(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig) - Overrides:
newLongTaskTimer
in classio.micrometer.core.instrument.MeterRegistry
-
newFunctionTimer
protected <T> io.micrometer.core.instrument.FunctionTimer newFunctionTimer(io.micrometer.core.instrument.Meter.Id id, T obj, ToLongFunction<T> countFunction, ToDoubleFunction<T> totalTimeFunction, TimeUnit totalTimeFunctionUnit) - Specified by:
newFunctionTimer
in classio.micrometer.core.instrument.MeterRegistry
-
newFunctionCounter
protected <T> io.micrometer.core.instrument.FunctionCounter newFunctionCounter(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> countFunction) - Specified by:
newFunctionCounter
in classio.micrometer.core.instrument.MeterRegistry
-
newMeter
protected io.micrometer.core.instrument.Meter newMeter(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.Meter.Type type, Iterable<io.micrometer.core.instrument.Measurement> measurements) - Specified by:
newMeter
in classio.micrometer.core.instrument.MeterRegistry
-
getBaseTimeUnit
- Specified by:
getBaseTimeUnit
in classio.micrometer.core.instrument.MeterRegistry
-
getPrometheusRegistry
public io.prometheus.metrics.model.registry.PrometheusRegistry getPrometheusRegistry()- Returns:
- The underlying Prometheus
PrometheusRegistry
.
-
defaultHistogramConfig
protected io.micrometer.core.instrument.distribution.DistributionStatisticConfig defaultHistogramConfig()- Specified by:
defaultHistogramConfig
in classio.micrometer.core.instrument.MeterRegistry
-
throwExceptionOnRegistrationFailure
For use withMeterRegistry.Config#onMeterRegistrationFailed(BiConsumer)
when you want meters with the same name but different tags to cause an unchecked exception.- Returns:
- This registry
-
meterRegistrationFailed
protected void meterRegistrationFailed(io.micrometer.core.instrument.Meter.Id id, @Nullable String reason) - Overrides:
meterRegistrationFailed
in classio.micrometer.core.instrument.MeterRegistry
-