Class PrometheusTimer

  • All Implemented Interfaces:
    io.micrometer.core.instrument.distribution.HistogramSupport, io.micrometer.core.instrument.Meter, io.micrometer.core.instrument.Timer

    public class PrometheusTimer
    extends io.micrometer.core.instrument.AbstractTimer
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.micrometer.core.instrument.Meter

        io.micrometer.core.instrument.Meter.Builder, io.micrometer.core.instrument.Meter.Id, io.micrometer.core.instrument.Meter.Type
      • Nested classes/interfaces inherited from interface io.micrometer.core.instrument.Timer

        io.micrometer.core.instrument.Timer.Builder, io.micrometer.core.instrument.Timer.Sample
    • Field Summary

      • Fields inherited from class io.micrometer.core.instrument.AbstractTimer

        clock
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long count()  
      io.micrometer.core.instrument.distribution.CountAtBucket[] histogramCounts()
      For Prometheus we cannot use the histogram counts from HistogramSnapshot, as it is based on a rolling histogram.
      double max​(java.util.concurrent.TimeUnit unit)  
      protected void recordNonNegative​(long amount, java.util.concurrent.TimeUnit unit)  
      io.micrometer.core.instrument.distribution.HistogramSnapshot takeSnapshot()  
      double totalTime​(java.util.concurrent.TimeUnit unit)  
      • Methods inherited from class io.micrometer.core.instrument.AbstractTimer

        baseTimeUnit, close, equals, hashCode, record, record, record, recordCallable
      • Methods inherited from class io.micrometer.core.instrument.AbstractMeter

        getId
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micrometer.core.instrument.distribution.HistogramSupport

        takeSnapshot
      • Methods inherited from interface io.micrometer.core.instrument.Meter

        getId, match, use
      • Methods inherited from interface io.micrometer.core.instrument.Timer

        histogramCountAtValue, mean, measure, percentile, record, wrap, wrap, wrap
    • Method Detail

      • recordNonNegative

        protected void recordNonNegative​(long amount,
                                         java.util.concurrent.TimeUnit unit)
        Specified by:
        recordNonNegative in class io.micrometer.core.instrument.AbstractTimer
      • count

        public long count()
      • totalTime

        public double totalTime​(java.util.concurrent.TimeUnit unit)
      • max

        public double max​(java.util.concurrent.TimeUnit unit)
      • histogramCounts

        public io.micrometer.core.instrument.distribution.CountAtBucket[] histogramCounts()
        For Prometheus we cannot use the histogram counts from HistogramSnapshot, as it is based on a rolling histogram. Prometheus requires a histogram that accumulates values over the lifetime of the app.
        Returns:
        Cumulative histogram buckets.
      • takeSnapshot

        public io.micrometer.core.instrument.distribution.HistogramSnapshot takeSnapshot()
        Specified by:
        takeSnapshot in interface io.micrometer.core.instrument.distribution.HistogramSupport
        Overrides:
        takeSnapshot in class io.micrometer.core.instrument.AbstractTimer