Apache JMeter

org.apache.jorphan.math
Class StatCalculator<T extends Number & Comparable<? super T>>

java.lang.Object
  extended by org.apache.jorphan.math.StatCalculator<T>
Direct Known Subclasses:
StatCalculatorInteger, StatCalculatorLong

public abstract class StatCalculator<T extends Number & Comparable<? super T>>
extends Object

This class serves as a way to calculate the median, max, min etc. of a list of values. It is not threadsafe.


Constructor Summary
StatCalculator(T zero, T min, T max)
          This constructor is used to set up particular values for the generic class instance.
 
Method Summary
 void addAll(StatCalculator<T> calc)
           
 void addBytes(long newValue)
           
 void addValue(T val)
          Add a single value (normally elapsed time)
 void addValue(T val, long sampleCount)
          Update the calculator with the value for an aggregated sample.
 void clear()
           
protected abstract  T divide(T val, int n)
           
protected abstract  T divide(T val, long n)
           
 long getCount()
           
 Map<Number,Number[]> getDistribution()
          Returns the distribution of the values in the list.
 T getMax()
           
 double getMean()
           
 T getMedian()
           
 T getMin()
           
 T getPercentPoint(double percent)
          Get the value which %percent% of the values are less than.
 T getPercentPoint(float percent)
          Get the value which %percent% of the values are less than.
 double getStandardDeviation()
           
 double getSum()
           
 long getTotalBytes()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StatCalculator

public StatCalculator(T zero,
                      T min,
                      T max)
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 values
min - - value to return for minimum if there are no values
max - - value to return for maximum if there are no values
Method Detail

clear

public void clear()

addBytes

public void addBytes(long newValue)

addAll

public void addAll(StatCalculator<T> calc)

getMedian

public T getMedian()

getTotalBytes

public long getTotalBytes()

getPercentPoint

public T getPercentPoint(float percent)
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 -
Returns:
number of values less than the percentage

getPercentPoint

public T getPercentPoint(double percent)
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 -
Returns:
the value which %percent% of the values are less than

getDistribution

public Map<Number,Number[]> 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

public T getMin()

getMax

public T getMax()

getCount

public long getCount()

getSum

public double getSum()

divide

protected abstract T divide(T val,
                            int n)

divide

protected abstract T divide(T val,
                            long n)

addValue

public void addValue(T val,
                     long sampleCount)
Update the calculator with the value for an aggregated sample.

Parameters:
val - the aggregate value, normally the elapsed time
sampleCount - the number of samples contributing to the aggregate value

addValue

public void addValue(T val)
Add a single value (normally elapsed time)

Parameters:
val - the value to add, which should correspond with a single sample
See Also:
addValue(Number, long)

Apache JMeter

Copyright © 1998-2013 Apache Software Foundation. All Rights Reserved.