- java.lang.Object
-
- com.conversantmedia.util.estimation.Percentile
-
public class Percentile extends Object
Implementation of "Simulatenous Estimation of Several Persentiles," by Kimmo E. E. Raatikainen This is very useful for profiling the performance of timing characteristics Created by jcairns on 5/28/14.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classPercentile.InsufficientSamplesExceptionIndicates too few measurements have been added to compute the requested estimation
-
Constructor Summary
Constructors Constructor Description Percentile()Percentile(float[] quantiles)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(float x)Add a measurement to estimatevoidclear()clear existing samplesfloat[]getEstimates()get the estimates based on the last samplefloatgetMax()floatgetMin()intgetNSamples()float[]getQuantiles()booleanisReady()static voidprint(PrintStream out, String name, Percentile p)print a nice histogram of percentiles
-
-
-
Method Detail
-
clear
public void clear()
clear existing samples
-
add
public void add(float x)
Add a measurement to estimate- Parameters:
x- - the value of the measurement
-
getQuantiles
public float[] getQuantiles()
- Returns:
- float[] - percentiles requested at initialization
-
isReady
public boolean isReady()
- Returns:
- boolean - true if sufficient samples have been seen to form an estimate
-
getNSamples
public int getNSamples()
- Returns:
- int - the number of samples in the estimate
-
getEstimates
public float[] getEstimates() throws Percentile.InsufficientSamplesExceptionget the estimates based on the last sample- Returns:
- float[]
- Throws:
Percentile.InsufficientSamplesException- - if no estimate is currently available due to insufficient data
-
getMin
public float getMin()
- Returns:
- float - the minimum sample seen in the distribution
-
getMax
public float getMax()
- Returns:
- float - the maximum sample seen in the distribution
-
print
public static void print(PrintStream out, String name, Percentile p)
print a nice histogram of percentiles- Parameters:
out- - output streamname- - data set namep- - percentile
-
-