Class RateStatistic


  • public class RateStatistic
    extends java.lang.Object

    Statistics on a time sequence rate.

    Calculates the rate at which the record() method is called over the configured period, retaining also the total count and maximum rate achieved.

    The implementation keeps a Deque of timestamps for all records for the last time period, so this method is not suitable for large rates unless a small time period is used.

    • Constructor Summary

      Constructors 
      Constructor Description
      RateStatistic​(long period, java.util.concurrent.TimeUnit units)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void age​(long period, java.util.concurrent.TimeUnit units)  
      java.lang.String dump()  
      java.lang.String dump​(java.util.concurrent.TimeUnit units)  
      long getCount()  
      long getMax()  
      long getOldest​(java.util.concurrent.TimeUnit units)  
      long getPeriod()  
      int getRate()  
      java.util.concurrent.TimeUnit getUnits()  
      int record()
      Records a sample value.
      void reset()
      Resets the statistics.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RateStatistic

        public RateStatistic​(long period,
                             java.util.concurrent.TimeUnit units)
    • Method Detail

      • getPeriod

        public long getPeriod()
      • getUnits

        public java.util.concurrent.TimeUnit getUnits()
      • reset

        public void reset()
        Resets the statistics.
      • age

        protected void age​(long period,
                           java.util.concurrent.TimeUnit units)
      • record

        public int record()
        Records a sample value.
        Returns:
        the number of records in the current period.
      • getRate

        public int getRate()
        Returns:
        the number of records in the current period
      • getMax

        public long getMax()
        Returns:
        the max number of samples per period.
      • getOldest

        public long getOldest​(java.util.concurrent.TimeUnit units)
        Parameters:
        units - the units of the return
        Returns:
        the age of the oldest sample in the requested units
      • getCount

        public long getCount()
        Returns:
        the number of samples recorded
      • dump

        public java.lang.String dump()
      • dump

        public java.lang.String dump​(java.util.concurrent.TimeUnit units)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object