B
- the type of the concrete builder implementation.T
- the type of the object to build.public abstract static class PercentileTracker.Builder<B,T> extends Object
PercentileTracker
implementation builders.Modifier and Type | Field and Description |
---|---|
protected long |
highestTrackableLatencyMillis |
protected long |
intervalMs |
protected int |
minRecordedValues |
protected int |
numberOfSignificantValueDigits |
Modifier and Type | Method and Description |
---|---|
abstract T |
build()
Builds the
PercentileTracker instance configured with this builder. |
protected abstract B |
self() |
B |
withInterval(long interval,
TimeUnit unit)
Sets the time interval over which samples are recorded.
|
B |
withMinRecordedValues(int minRecordedValues)
Sets the minimum number of values that must be recorded for a host before we consider the
sample size significant.
|
B |
withNumberOfSignificantValueDigits(int numberOfSignificantValueDigits)
Sets the number of significant decimal digits to which histograms will maintain value
resolution and separation.
|
protected final long highestTrackableLatencyMillis
protected int numberOfSignificantValueDigits
protected int minRecordedValues
protected long intervalMs
protected abstract B self()
public B withNumberOfSignificantValueDigits(int numberOfSignificantValueDigits)
If not set explicitly, this value defaults to 3.
See the HdrHistogram Javadocs for a more detailed explanation on how this parameter affects the resolution of recorded samples.
numberOfSignificantValueDigits
- the new value.public B withMinRecordedValues(int minRecordedValues)
If this count is not reached during a given interval, PercentileTracker.getLatencyAtPercentile(Host,
Statement, Exception, double)
will return a negative value, indicating that statistics are
not available. In particular, this is true during the first interval.
If not set explicitly, this value default to 1000.
minRecordedValues
- the new value.public B withInterval(long interval, TimeUnit unit)
For each host, there is a "live" histogram where current latencies are recorded, and a
"cached", read-only histogram that is used when clients call PercentileTracker.getLatencyAtPercentile(Host, Statement, Exception, double)
. Each time the cached histogram
becomes older than the interval, the two histograms are switched. Note that statistics will
not be available during the first interval at cluster startup, since we don't have a cached
histogram yet.
If not set explicitly, this value defaults to 5 minutes.
interval
- the new interval.unit
- the unit that the interval is expressed in.public abstract T build()
PercentileTracker
instance configured with this builder.Copyright © 2012–2020. All rights reserved.