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
ModifierConstructorDescriptionprotected
StatCalculator
(T zero, T min, T max) This constructor is used to set up particular values for the generic class instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAll
(StatCalculator<T> calc) void
addBytes
(long newValue) Add to received bytesvoid
addSentBytes
(long newValue) Add to sent bytesvoid
Add a single value (normally elapsed time)void
Update the calculator with the value for an aggregated sample.void
clear()
protected abstract T
protected abstract T
long
getCount()
Returns the distribution of the values in the list.getMax()
double
getMean()
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.double
double
getSum()
long
long
-
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 (between0
and1.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 (between0
and1.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:
-