Package org.apache.hadoop.metrics2.lib
Class MutableRollingAverages
java.lang.Object
org.apache.hadoop.metrics2.lib.MutableMetric
org.apache.hadoop.metrics2.lib.MutableRollingAverages
- All Implemented Interfaces:
Closeable,AutoCloseable
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 Summary
ConstructorsConstructorDescriptionMutableRollingAverages(String metricValueName) Constructor forMutableRollingAverages. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclose()voidCollects states maintained inThreadLocal, if any.getStats(long minSamples) Retrieve a map of metric name -> (aggregate).voidsetRecordValidityMs(long value) Use for test only.voidsnapshot(MetricsRecordBuilder builder, boolean all) Get a snapshot of the metricMethods inherited from class org.apache.hadoop.metrics2.lib.MutableMetric
changed, clearChanged, setChanged, snapshot
-
Constructor Details
-
MutableRollingAverages
Constructor forMutableRollingAverages.- Parameters:
metricValueName- input metricValueName.
-
-
Method Details
-
snapshot
Description copied from class:MutableMetricGet a snapshot of the metric- Specified by:
snapshotin classMutableMetric- Parameters:
builder- the metrics record builderall- if true, snapshot unchanged metrics as well
-
collectThreadLocalStates
public void collectThreadLocalStates()Collects states maintained inThreadLocal, if any. -
add
- Parameters:
name- name of metricvalue- value of metric
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getStats
Retrieve a map of metric name -> (aggregate). Filter out entries that don't have at least minSamples.- Parameters:
minSamples- input minSamples.- Returns:
- a map of peer DataNode Id to the average latency to that node seen over the measurement period.
-
setRecordValidityMs
@VisibleForTesting public void setRecordValidityMs(long value) Use for test only.- Parameters:
value- input value.
-