Class EwmaLatencyTracker (6.116.0)

public class EwmaLatencyTracker implements LatencyTracker

Implementation of LatencyTracker using Exponentially Weighted Moving Average (EWMA).

Formula: $S_{i+1} = alpha * new_latency + (1 - alpha) * S_i$

This class is thread-safe.

Inheritance

java.lang.Object > EwmaLatencyTracker

Implements

LatencyTracker

Static Fields

DEFAULT_ALPHA

public static final double DEFAULT_ALPHA
Field Value
Type Description
double

Constructors

EwmaLatencyTracker()

public EwmaLatencyTracker()

Creates a new tracker with the default alpha value of 0.05.

EwmaLatencyTracker(double alpha)

public EwmaLatencyTracker(double alpha)

Creates a new tracker with the specified alpha value.

Parameter
Name Description
alpha double

the smoothing factor, must be in the range (0, 1]

Methods

getScore()

public double getScore()

Returns the current latency score.

Returns
Type Description
double

recordError(Duration penalty)

public void recordError(Duration penalty)

Records an error and applies a latency penalty.

Parameter
Name Description
penalty Duration

update(Duration latency)

public void update(Duration latency)

Updates the latency score with a new observation.

Parameter
Name Description
latency Duration