Class TimeWindowFixedBoundaryHistogram
java.lang.Object
io.micrometer.core.instrument.distribution.TimeWindowFixedBoundaryHistogram
- All Implemented Interfaces:
Histogram
,AutoCloseable
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 Summary
ConstructorsModifierConstructorDescriptionTimeWindowFixedBoundaryHistogram
(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles) Create aTimeWindowFixedBoundaryHistogram
instance with cumulative bucket counts and buckets based on theconfig
andsupportsAggregablePercentiles
.TimeWindowFixedBoundaryHistogram
(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles, boolean isCumulativeBucketCounts) Create aTimeWindowFixedBoundaryHistogram
instance with buckets based on theconfig
andsupportsAggregablePercentiles
.protected
TimeWindowFixedBoundaryHistogram
(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles, boolean isCumulativeBucketCounts, boolean includeInfinityBucket) Create aTimeWindowFixedBoundaryHistogram
instance with buckets based on theconfig
andsupportsAggregablePercentiles
. -
Method Summary
Modifier and TypeMethodDescriptionprotected Void
protected io.micrometer.core.instrument.distribution.FixedBoundaryHistogram
protected double[]
Return buckets.void
recordDouble
(double value) void
recordLong
(long value) final HistogramSnapshot
takeSnapshot
(long count, double total, double max)
-
Constructor Details
-
TimeWindowFixedBoundaryHistogram
public TimeWindowFixedBoundaryHistogram(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles) Create aTimeWindowFixedBoundaryHistogram
instance with cumulative bucket counts and buckets based on theconfig
andsupportsAggregablePercentiles
.- Parameters:
clock
- clockconfig
- distribution statistic configurationsupportsAggregablePercentiles
- whether the backend supports aggregable percentiles- See Also:
-
TimeWindowFixedBoundaryHistogram
public TimeWindowFixedBoundaryHistogram(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles, boolean isCumulativeBucketCounts) Create aTimeWindowFixedBoundaryHistogram
instance with buckets based on theconfig
andsupportsAggregablePercentiles
.- Parameters:
clock
- clockconfig
- distribution statistic configurationsupportsAggregablePercentiles
- whether the backend supports aggregable percentilesisCumulativeBucketCounts
- whether to use cumulative bucket counts- Since:
- 1.9.0
- See Also:
-
TimeWindowFixedBoundaryHistogram
protected TimeWindowFixedBoundaryHistogram(Clock clock, DistributionStatisticConfig config, boolean supportsAggregablePercentiles, boolean isCumulativeBucketCounts, boolean includeInfinityBucket) Create aTimeWindowFixedBoundaryHistogram
instance with buckets based on theconfig
andsupportsAggregablePercentiles
. This constructor allows for use cases that always need an infinity bucket in the histogram.- Parameters:
clock
- clockconfig
- distribution statistic configurationsupportsAggregablePercentiles
- whether the backend supports aggregable percentilesisCumulativeBucketCounts
- whether to use cumulative bucket countsincludeInfinityBucket
- whether to always include an infinity bucket- Since:
- 1.13.11
- See Also:
-
-
Method Details
-
getBuckets
protected double[] getBuckets()Return buckets.- Returns:
- buckets
- Since:
- 1.9.0
-
takeSnapshot
- Specified by:
takeSnapshot
in interfaceHistogram
-
recordLong
public void recordLong(long value) - Specified by:
recordLong
in interfaceHistogram
-
recordDouble
public void recordDouble(double value) - Specified by:
recordDouble
in interfaceHistogram
-
accumulatedHistogram
-
currentHistogram
protected io.micrometer.core.instrument.distribution.FixedBoundaryHistogram currentHistogram()
-