Class MetricsTimeVaryingRate


  • @LimitedPrivate({"HDFS","MapReduce"})
    public class MetricsTimeVaryingRate
    extends MetricsBase
    The 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.
    • 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 metric
        registry - - 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 metric
        registry - - where the metrics object will be registered A description of MetricsBase.NO_DESCRIPTION is used
    • Method Detail

      • inc

        public void inc​(int numOps,
                        long time)
        Increment the metrics for numOps operations
        Parameters:
        numOps - - number of operations
        time - - time for numOps operations
      • inc

        public void inc​(long time)
        Increment the metrics for one operation
        Parameters:
        time - for one operation
      • 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 reset resetMinMax()
        Returns:
        min time for an operation
      • getMaxTime

        public long getMaxTime()
        The max time for a single operation since the last reset resetMinMax()
        Returns:
        max time for an operation
      • resetMinMax

        public void resetMinMax()
        Reset the min max values