Package org.apache.jorphan.math
Class StatCalculator<T extends Number & Comparable<? super T>>
java.lang.Object
org.apache.jorphan.math.StatCalculator<T>
- Type Parameters:
T- type parameter for the calculator
- Direct Known Subclasses:
StatCalculatorInteger,StatCalculatorLong
This class serves as a way to calculate the median, max, min etc. of a list of values.
It is not threadsafe.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStatCalculator(T zero, T min, T max) This constructor is used to set up particular values for the generic class instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAll(StatCalculator<T> calc) voidaddBytes(long newValue) Add to received bytesvoidaddSentBytes(long newValue) Add to sent bytesvoidAdd a single value (normally elapsed time)voidUpdate the calculator with the value for an aggregated sample.voidclear()protected abstract Tprotected abstract TlonggetCount()Returns the distribution of the values in the list.getMax()doublegetMean()getMin()getPercentPoint(double percent) Get the value which %percent% of the values are less than.getPercentPoint(float percent) Get the value which %percent% of the values are less than.doubledoublegetSum()longlong
-
Constructor Details
-
StatCalculator
This constructor is used to set up particular values for the generic class instance.- Parameters:
zero- - value to return for Median and PercentPoint if there are no valuesmin- - value to return for minimum if there are no valuesmax- - value to return for maximum if there are no values
-
-
Method Details
-
clear
public void clear() -
addBytes
public void addBytes(long newValue) Add to received bytes- Parameters:
newValue- number of newly received bytes
-
addSentBytes
public void addSentBytes(long newValue) Add to sent bytes- Parameters:
newValue- number of newly sent bytes
-
addAll
-
getMedian
-
getTotalBytes
public long getTotalBytes() -
getTotalSentBytes
public long getTotalSentBytes() -
getPercentPoint
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 (between0and1.0)- Returns:
- number of values less than the percentage
-
getPercentPoint
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 (between0and1.0)- Returns:
- the value which %percent% of the values are less than
-
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
-
getMean
public double getMean() -
getStandardDeviation
public double getStandardDeviation() -
getMin
-
getMax
-
getCount
public long getCount() -
getSum
public double getSum() -
divide
-
divide
-
addValue
Update the calculator with the value for an aggregated sample.- Parameters:
val- the aggregate value, normally the elapsed timesampleCount- the number of samples contributing to the aggregate value
-
addValue
Add a single value (normally elapsed time)- Parameters:
val- the value to add, which should correspond with a single sample- See Also:
-