public static class GradientLimit.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
GradientLimit |
build() |
GradientLimit.Builder |
initialLimit(int initialLimit)
Initial limit used by the limiter
|
GradientLimit.Builder |
maxConcurrency(int maxConcurrency)
Deprecated.
|
GradientLimit.Builder |
maxLimit(int maxLimit)
Maximum allowable concurrency.
|
GradientLimit.Builder |
metricRegistry(MetricRegistry registry)
Registry for reporting metrics about the limiter's internal state.
|
GradientLimit.Builder |
minLimit(int minLimit)
Minimum concurrency limit allowed.
|
GradientLimit.Builder |
minRttThreshold(long minRttTreshold,
java.util.concurrent.TimeUnit units)
Minimum threshold for accepting a new rtt sample.
|
GradientLimit.Builder |
noLoadRttFilter(double filter)
Low pass filter applied to noLoad RTT measurements ensuring that outlier latency
measurements don't have an adverse impact on the noLoad rtt.
|
GradientLimit.Builder |
noLoadRttWindow(int window)
Exponential moving average window size of sample updates for tracking noLoad RTT
Having sample window lets the system adapt to changes in latency characteristics.
|
GradientLimit.Builder |
probeMultiplier(int probeMultiplier)
Deprecated.
|
GradientLimit.Builder |
queueSize(java.util.function.Function<java.lang.Integer,java.lang.Integer> queueSize)
Function to dynamically determine the amount the estimated limit can grow while
latencies remain low as a function of the current limit.
|
GradientLimit.Builder |
queueSize(int queueSize)
Fixed amount the estimated limit can grow while latencies remain low
|
GradientLimit.Builder |
rttTolerance(double rttTolerance)
Deprecated.
|
GradientLimit.Builder |
smoothing(double smoothing)
Smoothing factor to limit how aggressively the estimated limit can shrink
when queuing has been detected.
|
public GradientLimit.Builder minRttThreshold(long minRttTreshold, java.util.concurrent.TimeUnit units)
minRttTreshold
- units
- public GradientLimit.Builder initialLimit(int initialLimit)
initialLimit
- public GradientLimit.Builder minLimit(int minLimit)
minLimit
- @Deprecated public GradientLimit.Builder rttTolerance(double rttTolerance)
rttTolerance
- Value >= 1.0 indicating how much change in minimum latency is acceptable
before reducing the limit. For example, a value of 2.0 means that a 2x increase in latency is acceptable.@Deprecated public GradientLimit.Builder maxConcurrency(int maxConcurrency)
maxConcurrency
- public GradientLimit.Builder maxLimit(int maxLimit)
maxLimit
- public GradientLimit.Builder queueSize(int queueSize)
queueSize
- public GradientLimit.Builder queueSize(java.util.function.Function<java.lang.Integer,java.lang.Integer> queueSize)
queueSize
- public GradientLimit.Builder smoothing(double smoothing)
smoothing
- Value of 0.0 to 1.0 where 1.0 means the limit is completely
replicated by the new estimate.public GradientLimit.Builder metricRegistry(MetricRegistry registry)
registry
- @Deprecated public GradientLimit.Builder probeMultiplier(int probeMultiplier)
probeMultiplier
- public GradientLimit.Builder noLoadRttWindow(int window)
window
- public GradientLimit.Builder noLoadRttFilter(double filter)
filter
- public GradientLimit build()