code: public void pushMetric(final MetricsRecord mr) {
      lock.lock();
      try {
        intervalHeartBeat();
        try {
          if (mr != null) {
            mr.incrMetric(getName() + "_num_ops", getPreviousIntervalNumOps());
            mr.setMetric(getName() + "_avg_time", getPreviousIntervalAverageTime());
            if (printMinMax) {
              mr.setMetric(getName() + "_min", getMinTime());
              mr.setMetric(getName() + "_max", getMaxTime());
              resetMinMax();
            }
          }
        } catch (Exception e) {
          LOG.info("pushMetric failed for " + getName() + "\n" +
              StringUtils.stringifyException(e));
        }
      } finally {
        lock.unlock();
      }
    }
docs: 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 {@link #getPreviousIntervalAverageTime()} and
  {@link #getPreviousIntervalNumOps()}
  
  @param mr metrics record.  If null, simply interval heart beat only.