@InterfaceAudience.Private public class MetricSampleQuantiles extends Object
| Modifier and Type | Class and Description | 
|---|---|
| private static class  | MetricSampleQuantiles.SampleItemDescribes a measured value passed to the estimator, tracking additional metadata required by
 the CKMS algorithm. | 
| Modifier and Type | Field and Description | 
|---|---|
| private long[] | bufferBuffers incoming items to be inserted in batch. | 
| private int | bufferCount | 
| private long | countTotal number of items in stream | 
| private MetricQuantile[] | quantilesArray of Quantiles that we care about, along with desired error. | 
| private LinkedList<MetricSampleQuantiles.SampleItem> | samplesCurrent list of sampled items, maintained in sorted order with error bounds | 
| Constructor and Description | 
|---|
| MetricSampleQuantiles(MetricQuantile[] quantiles) | 
| Modifier and Type | Method and Description | 
|---|---|
| private double | allowableError(int rank)Specifies the allowable error for this rank, depending on which quantiles are being targeted. | 
| void | clear()Resets the estimator, clearing out all previously inserted items | 
| private void | compress()Try to remove extraneous items from the set of sampled items. | 
| long | getCount()Returns the number of items that the estimator has processed | 
| int | getSampleCount()Returns the number of samples kept by the estimator | 
| void | insert(long v)Add a new value from the stream. | 
| private void | insertBatch()Merges items from buffer into the samples array in one pass. | 
| private long | query(double quantile)Get the estimated value at the specified quantile. | 
| Map<MetricQuantile,Long> | snapshot()Get a snapshot of the current values of all the tracked quantiles. | 
private long count
private LinkedList<MetricSampleQuantiles.SampleItem> samples
private long[] buffer
private int bufferCount
private final MetricQuantile[] quantiles
public MetricSampleQuantiles(MetricQuantile[] quantiles)
private double allowableError(int rank)
public void insert(long v)
v - the value to insertprivate void insertBatch()
private void compress()
private long query(double quantile) throws IOException
quantile - Queried quantile, e.g. 0.50 or 0.99.IOExceptionpublic Map<MetricQuantile,Long> snapshot() throws IOException
IOExceptionpublic long getCount()
public int getSampleCount()
public void clear()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.