Class TimeWindowFixedBoundaryHistogram

java.lang.Object
io.micrometer.core.instrument.distribution.TimeWindowFixedBoundaryHistogram
All Implemented Interfaces:
Histogram, AutoCloseable

public class TimeWindowFixedBoundaryHistogram extends Object
A histogram implementation that does not support precomputed percentiles but supports aggregable percentile histograms and SLO boundaries. There is no need for a high dynamic range histogram and its more expensive memory footprint if all we are interested in is fixed histogram counts.
Since:
1.0.3
  • Constructor Details

    • TimeWindowFixedBoundaryHistogram

      public TimeWindowFixedBoundaryHistogram(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles)
    • TimeWindowFixedBoundaryHistogram

      public TimeWindowFixedBoundaryHistogram(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles, boolean isCumulativeBucketCounts)
      Create a TimeWindowFixedBoundaryHistogram instance.
      Parameters:
      clock - clock
      config - distribution statistic configuration
      supportsAggregablePercentiles - whether it supports aggregable percentiles
      isCumulativeBucketCounts - whether it uses cumulative bucket counts
      Since:
      1.9.0
  • Method Details

    • getBuckets

      protected double[] getBuckets()
      Return buckets.
      Returns:
      buckets
      Since:
      1.9.0
    • takeSnapshot

      public final HistogramSnapshot takeSnapshot(long count, double total, double max)
      Specified by:
      takeSnapshot in interface Histogram
    • recordLong

      public void recordLong(long value)
      Specified by:
      recordLong in interface Histogram
    • recordDouble

      public void recordDouble(double value)
      Specified by:
      recordDouble in interface Histogram
    • accumulatedHistogram

      protected Void accumulatedHistogram()
    • currentHistogram

      protected io.micrometer.core.instrument.distribution.FixedBoundaryHistogram currentHistogram()