Class StatCalculator

  • All Implemented Interfaces:

    
    public abstract class StatCalculator<T extends Number, Comparable<in T>>
    
                        

    This class serves as a way to calculate the median, max, min etc. of a list of values. It is not threadsafe.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
      public double sum
      public double mean
      public long count
      public T min
      public T max
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Constructor Detail

    • Method Detail

      • addBytes

         void addBytes(long newValue)

        Add to received bytes

        Parameters:
        newValue - number of newly received bytes
      • addSentBytes

         void addSentBytes(long newValue)

        Add to sent bytes

        Parameters:
        newValue - number of newly sent bytes
      • getPercentPoint

         T getPercentPoint(float percent)

        Get the value which %percent% of the values are less than. This works just like median (where median represents the 50% point). A typical desire is to see the 90% point - the value that 90% of the data points are below, the remaining 10% are above.

        Parameters:
        percent - number representing the wished percent (between 0and 1.0)
        Returns:

        number of values less than the percentage

      • getPercentPoint

         T getPercentPoint(double percent)

        Get the value which %percent% of the values are less than. This works just like median (where median represents the 50% point). A typical desire is to see the 90% point - the value that 90% of the data points are below, the remaining 10% are above.

        Parameters:
        percent - number representing the wished percent (between 0and 1.0)
        Returns:

        the value which %percent% of the values are less than

      • getDistribution

         Map<Number, Array<Number>> getDistribution()

        Returns the distribution of the values in the list.

        Returns:

        map containing either Integer or Long keys; entries are a Number array containing the key and the [Integer] count. TODO - why is the key value also stored in the entry array? See Bug 53825

      • addValue

         void addValue(T val, long sampleCount)

        Update the calculator with the value for an aggregated sample.

        Parameters:
        val - the aggregate value, normally the elapsed time
        sampleCount - the number of samples contributing to the aggregate value
      • addValue

         void addValue(T val)

        Add a single value (normally elapsed time)

        Parameters:
        val - the value to add, which should correspond with a single sample