public class DistributionStatisticConfig extends java.lang.Object implements Mergeable<DistributionStatisticConfig>
Timer
and DistributionSummary
.
These statistics include max, percentiles, percentile histograms, and SLA violations.
Many distribution statistics are decayed to give greater weight to recent samples.
Modifier and Type | Class and Description |
---|---|
static class |
DistributionStatisticConfig.Builder |
Modifier and Type | Field and Description |
---|---|
static DistributionStatisticConfig |
DEFAULT |
static DistributionStatisticConfig |
NONE |
Constructor and Description |
---|
DistributionStatisticConfig() |
Modifier and Type | Method and Description |
---|---|
static DistributionStatisticConfig.Builder |
builder() |
java.lang.Integer |
getBufferLength()
Statistics like max, percentiles, and histogram counts decay over time to give greater weight to recent
samples (exception: histogram counts are cumulative for those systems that expect cumulative
histogram buckets).
|
java.time.Duration |
getExpiry()
Statistics like max, percentiles, and histogram counts decay over time to give greater weight to recent
samples (exception: histogram counts are cumulative for those systems that expect cumulative
histogram buckets).
|
java.util.NavigableSet<java.lang.Long> |
getHistogramBuckets(boolean supportsAggregablePercentiles) |
java.lang.Long |
getMaximumExpectedValue()
The maximum value that the meter is expected to observe.
|
java.lang.Long |
getMinimumExpectedValue()
The minimum value that the meter is expected to observe.
|
java.lang.Integer |
getPercentilePrecision()
Determines the number of digits of precision to maintain on the dynamic range histogram used to compute
percentile approximations.
|
double[] |
getPercentiles()
Produces an additional time series for each requested percentile.
|
long[] |
getSlaBoundaries()
Publish at a minimum a histogram containing your defined SLA boundaries.
|
java.lang.Boolean |
isPercentileHistogram()
Adds histogram buckets used to generate aggregable percentile approximations in monitoring
systems that have query facilities to do so (e.g.
|
boolean |
isPublishingHistogram() |
boolean |
isPublishingPercentiles() |
DistributionStatisticConfig |
merge(DistributionStatisticConfig parent)
Merges two configurations.
|
public static final DistributionStatisticConfig DEFAULT
public static final DistributionStatisticConfig NONE
public static DistributionStatisticConfig.Builder builder()
public DistributionStatisticConfig merge(DistributionStatisticConfig parent)
merge
in interface Mergeable<DistributionStatisticConfig>
parent
- The configuration to merge with. The parent takes lower precedence than this configuration.public java.util.NavigableSet<java.lang.Long> getHistogramBuckets(boolean supportsAggregablePercentiles)
@Nullable public java.lang.Boolean isPercentileHistogram()
histogram_quantile
,
Atlas' :percentiles
).@Nullable public double[] getPercentiles()
percentileHistogram
to publish a histogram that can be used to generate aggregable percentile approximations.0.95
@Nullable public java.lang.Integer getPercentilePrecision()
@Nullable public java.lang.Long getMinimumExpectedValue()
@Nullable public java.lang.Long getMaximumExpectedValue()
@Nullable public java.time.Duration getExpiry()
bufferLength
.@Nullable public java.lang.Integer getBufferLength()
expiry
, with this buffer length.@Nullable public long[] getSlaBoundaries()
percentileHistogram
, the boundaries defined here are included alongside other buckets used to
generate aggregable percentile approximations. If the DistributionStatisticConfig
is meant for
use with a Timer
, the SLA unit is in nanoseconds.public boolean isPublishingPercentiles()
public boolean isPublishingHistogram()