Package org.apache.cassandra.metrics
Class FrequencySampler<T>
- java.lang.Object
-
- org.apache.cassandra.metrics.Sampler<T>
-
- org.apache.cassandra.metrics.FrequencySampler<T>
-
- Type Parameters:
T
-
public abstract class FrequencySampler<T> extends Sampler<T>
Find the most frequent sample. A sample adds to the sum of its key ieadd("x", 10); and add("x", 20); will result in "x" = 30
This uses StreamSummary to only store the approximate cardinality (capacity) of keys. If the number of distinct keys exceed the capacity, the error of the sample may increase depending on distribution of keys among the total set.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.cassandra.metrics.Sampler
Sampler.Sample<S>, Sampler.SamplerType
-
-
Constructor Summary
Constructors Constructor Description FrequencySampler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beginSampling(int capacity, int durationMillis)
Start to record samplesjava.util.List<Sampler.Sample<T>>
finishSampling(int count)
Call to stop collecting samples, and gather the resultsprotected void
insert(T item, long value)
boolean
isEnabled()
-
-
-
Method Detail
-
beginSampling
public void beginSampling(int capacity, int durationMillis)
Start to record samples- Specified by:
beginSampling
in classSampler<T>
- Parameters:
capacity
- Number of sample items to keep in memory, the lower this is the less accurate results are. For best results use value close to cardinality, but understand the memory trade offs.
-
finishSampling
public java.util.List<Sampler.Sample<T>> finishSampling(int count)
Call to stop collecting samples, and gather the results- Specified by:
finishSampling
in classSampler<T>
- Parameters:
count
- Number of most frequent items to return
-
-