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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicLong
private final LongAccumulator
private final AtomicLong
private final LongAdder
-
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
_max
-
_total
-
_count
-
_totalVariance100
-
-
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.
-
set
Deprecated.userecord(long)
instead- 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
-
record(long)
instead