Package org.eclipse.jetty.util.statistic
Class SampleStatistic
java.lang.Object
org.eclipse.jetty.util.statistic.SampleStatistic
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
-
Method Summary
Modifier and TypeMethodDescriptionlong
getCount()
Get the number of samples recorded.long
getMax()
Get the max value of the recorded samples.double
getMean()
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
getTotal()
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
reset()
Resets the statistics.toString()
-
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
-