@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 | 
snapshot(MetricsRecordBuilder builder,
        boolean all)
Get a snapshot of the metric 
 | 
changed, clearChanged, setChanged, snapshotpublic MutableRollingAverages(String metricValueName)
MutableRollingAverages.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 AutoCloseableIOExceptionCopyright © 2018 Apache Software Foundation. All Rights Reserved.