Class Percentile
java.lang.Object
com.conversantmedia.util.estimation.Percentile
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 ClassesModifier and TypeClassDescriptionclassIndicates too few measurements have been added to compute the requested estimation -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(float x) Add a measurement to estimatevoidclear()clear existing samplesfloat[]get the estimates based on the last samplefloatgetMax()floatgetMin()intfloat[]booleanisReady()static voidprint(PrintStream out, String name, Percentile p) print a nice histogram of percentiles
-
Constructor Details
-
Percentile
public Percentile() -
Percentile
public Percentile(float[] quantiles)
-
-
Method Details
-
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
get 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
print a nice histogram of percentiles- Parameters:
out- - output streamname- - data set namep- - percentile
-