@InterfaceAudience.Public @InterfaceStability.Evolving public class MutableRollingAverages extends MutableMetric implements Closeable
This class maintains a group of rolling average metrics. It implements the algorithm of rolling average, i.e. a number of sliding windows are kept to roll over and evict old subsets of samples. Each window has a subset of samples in a stream, where sub-sum and sub-total are collected. All sub-sums and sub-totals in all windows will be aggregated to final-sum and final-total used to compute final average, which is called rolling average.
| Constructor and Description |
|---|
MutableRollingAverages(String metricValueName)
Constructor for
MutableRollingAverages. |
| Modifier and Type | Method and Description |
|---|---|
void |
add(String name,
long value) |
void |
close() |
void |
collectThreadLocalStates()
Collects states maintained in
ThreadLocal, if any. |
Map<String,Double> |
getStats(long minSamples)
Retrieve a map of metric name -> (aggregate).
|
void |
setRecordValidityMs(long value)
Use for test only.
|
void |
snapshot(MetricsRecordBuilder builder,
boolean all)
Get a snapshot of the metric
|
changed, clearChanged, setChanged, snapshotpublic MutableRollingAverages(String metricValueName)
MutableRollingAverages.metricValueName - input metricValueName.public void snapshot(MetricsRecordBuilder builder, boolean all)
MutableMetricsnapshot in class MutableMetricbuilder - the metrics record builderall - if true, snapshot unchanged metrics as wellpublic void collectThreadLocalStates()
ThreadLocal, if any.public void add(String name, long value)
name - name of metricvalue - value of metricpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionpublic Map<String,Double> getStats(long minSamples)
minSamples - input minSamples.public void setRecordValidityMs(long value)
value - input value.Copyright © 2023 Apache Software Foundation. All rights reserved.