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 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()
      Returns:
      the max value of the recorded samples
    • getTotal

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

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

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

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

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

      public String toString()
      Overrides:
      toString in class Object