public final class Histogram
extends java.lang.Object
| Constructor and Description |
|---|
Histogram(long[] upperBounds)
Create a new Histogram with a provided list of interval bounds.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addObservation(long value)
Add an observation to the histogram and increment the counter for the interval it matches.
|
void |
addObservations(Histogram histogram)
Add observations from another Histogram into this one.
Histograms must have the same intervals.
|
void |
clear()
Clear the list of interval counters
|
long |
getCount()
Count total number of recorded observations.
|
long |
getCountAt(int index)
Get the count of observations at a given index.
|
long |
getFourNinesUpperBound()
Calculate the upper bound within which 99.99% of observations fall.
|
long |
getMax()
Get the maximum observed value.
|
java.math.BigDecimal |
getMean()
Calculate the mean of all recorded observations.
The mean is calculated by summing the mid points of each interval multiplied by the count
for that interval, then dividing by the total count of observations.
|
long |
getMin()
Get the minimum observed value.
|
int |
getSize()
Size of the list of interval bars (ie: count of interval bars).
|
long |
getTwoNinesUpperBound()
Calculate the upper bound within which 99% of observations fall.
|
long |
getUpperBoundAt(int index)
Get the upper bound of an interval for an index.
|
long |
getUpperBoundForFactor(double factor)
Get the interval upper bound for a given factor of the observation population.
Note this does not get the actual percentile measurement, it only gets the bucket
|
java.lang.String |
toString() |
public Histogram(long[] upperBounds)
upperBounds - of the intervals. Bounds must be provided in order least to greatest, and
lowest bound must be greater than or equal to 1.java.lang.IllegalArgumentException - if any of the upper bounds are less than or equal to zerojava.lang.IllegalArgumentException - if the bounds are not in order, least to greatestpublic int getSize()
public long getUpperBoundAt(int index)
index - of the upper bound.public long getCountAt(int index)
index - of the observations counter.public boolean addObservation(long value)
value - for the observation to be added.public void addObservations(Histogram histogram)
histogram - from which to add the observation counts.java.lang.IllegalArgumentException - if interval count or values do not match exactlypublic void clear()
public long getCount()
public long getMin()
public long getMax()
public java.math.BigDecimal getMean()
public long getTwoNinesUpperBound()
public long getFourNinesUpperBound()
public long getUpperBoundForFactor(double factor)
factor - representing the size of the population.java.lang.IllegalArgumentException - if factor < 0.0 or factor > 1.0public java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2011 - 2013 LMAX Ltd. All Rights Reserved.