public static class Gradient2Limit.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
Gradient2Limit |
build() |
Gradient2Limit.Builder |
driftMultiplier(int multiplier)
Maximum multiple of the fast window after which we need to reset the limiter
|
Gradient2Limit.Builder |
initialLimit(int initialLimit)
Initial limit used by the limiter
|
Gradient2Limit.Builder |
longWindow(int n) |
Gradient2Limit.Builder |
maxConcurrency(int maxConcurrency)
Maximum allowable concurrency.
|
Gradient2Limit.Builder |
metricRegistry(MetricRegistry registry)
Registry for reporting metrics about the limiter's internal state.
|
Gradient2Limit.Builder |
minLimit(int minLimit)
Minimum concurrency limit allowed.
|
Gradient2Limit.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.
|
Gradient2Limit.Builder |
queueSize(int queueSize)
Fixed amount the estimated limit can grow while latencies remain low
|
Gradient2Limit.Builder |
shortWindow(int n) |
Gradient2Limit.Builder |
smoothing(double smoothing)
Smoothing factor to limit how aggressively the estimated limit can shrink
when queuing has been detected.
|
public Gradient2Limit.Builder initialLimit(int initialLimit)
initialLimit
- public Gradient2Limit.Builder minLimit(int minLimit)
minLimit
- public Gradient2Limit.Builder maxConcurrency(int maxConcurrency)
maxConcurrency
- public Gradient2Limit.Builder queueSize(int queueSize)
queueSize
- public Gradient2Limit.Builder queueSize(java.util.function.Function<java.lang.Integer,java.lang.Integer> queueSize)
queueSize
- public Gradient2Limit.Builder driftMultiplier(int multiplier)
multiplier
- public Gradient2Limit.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 Gradient2Limit.Builder metricRegistry(MetricRegistry registry)
registry
- public Gradient2Limit.Builder shortWindow(int n)
public Gradient2Limit.Builder longWindow(int n)
public Gradient2Limit build()