Class MetricsTimeVaryingRate
- java.lang.Object
-
- com.mapr.org.apache.hadoop.metrics.util.MetricsBase
-
- com.mapr.org.apache.hadoop.metrics.util.MetricsTimeVaryingRate
-
@LimitedPrivate({"HDFS","MapReduce"}) public class MetricsTimeVaryingRate extends MetricsBaseThe MetricsTimeVaryingRate class is for a rate based metric that naturally varies over time (e.g. time taken to create a file). The rate is averaged at each interval heart beat (the interval is set in the metrics config file). This class also keeps track of the min and max rates along with a method to reset the min-max.
-
-
Field Summary
-
Fields inherited from class com.mapr.org.apache.hadoop.metrics.util.MetricsBase
NO_DESCRIPTION
-
-
Constructor Summary
Constructors Constructor Description MetricsTimeVaryingRate(java.lang.String nam, MetricsRegistry registry)Constructor - create a new metricMetricsTimeVaryingRate(java.lang.String nam, MetricsRegistry registry, java.lang.String description)Constructor - create a new metric
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetMaxTime()The max time for a single operation since the last resetresetMinMax()longgetMinTime()The min time for a single operation since the last resetresetMinMax()longgetPreviousIntervalAverageTime()The average rate of an operation in the previous intervalintgetPreviousIntervalNumOps()The number of operations in the previous intervalvoidinc(int numOps, long time)Increment the metrics for numOps operationsvoidinc(long time)Increment the metrics for one operationvoidpushMetric(MetricsRecord mr)Push the delta metrics to the mr.voidresetMinMax()Reset the min max values-
Methods inherited from class com.mapr.org.apache.hadoop.metrics.util.MetricsBase
getDescription, getName
-
-
-
-
Constructor Detail
-
MetricsTimeVaryingRate
public MetricsTimeVaryingRate(java.lang.String nam, MetricsRegistry registry, java.lang.String description)Constructor - create a new metric- Parameters:
nam- the name of the metrics to be used to publish the metricregistry- - where the metrics object will be registered
-
MetricsTimeVaryingRate
public MetricsTimeVaryingRate(java.lang.String nam, MetricsRegistry registry)Constructor - create a new metric- Parameters:
nam- the name of the metrics to be used to publish the metricregistry- - where the metrics object will be registered A description ofMetricsBase.NO_DESCRIPTIONis used
-
-
Method Detail
-
inc
public void inc(int numOps, long time)Increment the metrics for numOps operations- Parameters:
numOps- - number of operationstime- - time for numOps operations
-
inc
public void inc(long time)
Increment the metrics for one operation- Parameters:
time- for one operation
-
pushMetric
public void pushMetric(MetricsRecord mr)
Push the delta metrics to the mr. The delta is since the last push/interval. Note this does NOT push to JMX (JMX gets the info viagetPreviousIntervalAverageTime()andgetPreviousIntervalNumOps()- Specified by:
pushMetricin classMetricsBase- Parameters:
mr-
-
getPreviousIntervalNumOps
public int getPreviousIntervalNumOps()
The number of operations in the previous interval- Returns:
- - ops in prev interval
-
getPreviousIntervalAverageTime
public long getPreviousIntervalAverageTime()
The average rate of an operation in the previous interval- Returns:
- - the average rate.
-
getMinTime
public long getMinTime()
The min time for a single operation since the last resetresetMinMax()- Returns:
- min time for an operation
-
getMaxTime
public long getMaxTime()
The max time for a single operation since the last resetresetMinMax()- Returns:
- max time for an operation
-
resetMinMax
public void resetMinMax()
Reset the min max values
-
-