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 aPrometheusMeterRegistryinstance. -
Method Summary
Modifier and TypeMethodDescriptionprotected io.micrometer.core.instrument.distribution.DistributionStatisticConfigprotected TimeUnitio.prometheus.metrics.model.registry.PrometheusRegistryio.micrometer.core.instrument.CounternewCounter(io.micrometer.core.instrument.Meter.Id id) io.micrometer.core.instrument.DistributionSummarynewDistributionSummary(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, double scale) protected <T> io.micrometer.core.instrument.FunctionCounternewFunctionCounter(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> countFunction) protected <T> io.micrometer.core.instrument.FunctionTimernewFunctionTimer(io.micrometer.core.instrument.Meter.Id id, T obj, ToLongFunction<T> countFunction, ToDoubleFunction<T> totalTimeFunction, TimeUnit totalTimeFunctionUnit) protected <T> io.micrometer.core.instrument.GaugenewGauge(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> valueFunction) protected io.micrometer.core.instrument.LongTaskTimernewLongTaskTimer(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig) protected io.micrometer.core.instrument.MeternewMeter(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.TimernewTimer(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, io.micrometer.core.instrument.distribution.pause.PauseDetector pauseDetector) scrape()voidscrape(OutputStream outputStream) Scrape to the specified output stream in Prometheus text format.voidscrape(OutputStream outputStream, String contentType) Write the metrics scrape body in a specific content type to the given output stream.voidscrape(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, meterRegistrationFailed, 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 aPrometheusMeterRegistryinstance.- 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:
newCounterin 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:
newDistributionSummaryin 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:
newTimerin 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:
newGaugein 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:
newLongTaskTimerin 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:
newFunctionTimerin 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:
newFunctionCounterin 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:
newMeterin classio.micrometer.core.instrument.MeterRegistry
-
getBaseTimeUnit
- Specified by:
getBaseTimeUnitin 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:
defaultHistogramConfigin 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
-