public class ClusterWidePercentileTracker extends PercentileTracker
PercentileTracker
that aggregates all measurements into a single histogram.
This gives you global latency percentiles for the whole cluster, meaning that latencies of slower hosts will tend to
appear in higher percentiles.Modifier and Type | Class and Description |
---|---|
static class |
ClusterWidePercentileTracker.Builder
Helper class to build
PerHostPercentileTracker instances with a fluent interface. |
Modifier and Type | Method and Description |
---|---|
static ClusterWidePercentileTracker.Builder |
builder(long highestTrackableLatencyMillis)
Returns a builder to create a new instance.
|
protected Cluster |
computeKey(Host host,
Statement statement,
Exception exception)
Computes a key used to categorize measurements.
|
void |
onRegister(Cluster cluster)
Gets invoked when the tracker is registered with a cluster, or at cluster startup if the
tracker was registered at initialization with
Cluster.register(LatencyTracker) . |
getLatencyAtPercentile, include, onUnregister, update
public void onRegister(Cluster cluster)
LifecycleAwareLatencyTracker
Cluster.register(LatencyTracker)
.onRegister
in interface LifecycleAwareLatencyTracker
onRegister
in class PercentileTracker
cluster
- the cluster that this tracker is registered with.protected Cluster computeKey(Host host, Statement statement, Exception exception)
PercentileTracker
computeKey
in class PercentileTracker
host
- the host that was queried.statement
- the statement that was executed.exception
- if the query failed, the corresponding exception.public static ClusterWidePercentileTracker.Builder builder(long highestTrackableLatencyMillis)
highestTrackableLatencyMillis
- the highest expected latency. If a higher value is reported, it will be
ignored and a warning will be logged. A good rule of thumb is to set it
slightly higher than SocketOptions.getReadTimeoutMillis()
.