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 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 Details

    • MetricsTimeVaryingRate

      public MetricsTimeVaryingRate(String nam, MetricsRegistry registry, 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(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 Details

    • 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
    • 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 via getPreviousIntervalAverageTime() and getPreviousIntervalNumOps()
      Specified by:
      pushMetric in class MetricsBase
      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 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