Class SampleStatistic

java.lang.Object
org.eclipse.jetty.util.statistic.SampleStatistic

public class SampleStatistic extends Object

Statistics on a sampled value.

Provides max, total, mean, count, variance, and standard deviation of continuous sequence of samples.

Calculates estimates of mean, variance, and standard deviation characteristics of a sample using a non synchronized approximation of the on-line algorithm presented in Donald Knuth's Art of Computer Programming, Volume 2, Semi numerical Algorithms, 3rd edition, page 232, Boston: Addison-Wesley. That cites a 1962 paper by B.P. Welford: Note on a Method for Calculating Corrected Sums of Squares and Products

This algorithm is also described in Wikipedia in the section "Online algorithm": Algorithms for calculating variance.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Get the number of samples recorded.
    long
    Get the max value of the recorded samples.
    double
    Get the average value of the samples recorded, or zero if there are no samples.
    double
    Get the standard deviation of the samples recorded.
    long
    Get the sum of all the recorded samples.
    double
    Get the variance of the samples recorded, or zero if there are less than 2 samples.
    void
    record(long sample)
    Records a sample value.
    void
    Resets the statistics.
     

    Methods inherited from class java.lang.Object

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

    • SampleStatistic

      public SampleStatistic()
  • Method Details

    • reset

      public void reset()
      Resets the statistics.
    • record

      public void record(long sample)
      Records a sample value.
      Parameters:
      sample - the value to record.
    • getMax

      public long getMax()
      Get the max value of the recorded samples.
      Returns:
      the max value of the recorded samples
    • getTotal

      public long getTotal()
      Get the sum of all the recorded samples.
      Returns:
      the sum of all the recorded samples
    • getCount

      public long getCount()
      Get the number of samples recorded.
      Returns:
      the number of samples recorded
    • getMean

      public double getMean()
      Get the average value of the samples recorded, or zero if there are no samples.
      Returns:
      the average value of the samples recorded, or zero if there are no samples
    • getVariance

      public double getVariance()
      Get the variance of the samples recorded, or zero if there are less than 2 samples.
      Returns:
      the variance of the samples recorded, or zero if there are less than 2 samples
    • getStdDev

      public double getStdDev()
      Get the standard deviation of the samples recorded.
      Returns:
      the standard deviation of the samples recorded
    • toString

      public String toString()
      Overrides:
      toString in class Object