wisp-sampling
October 13, 2022 ยท View on GitHub
Utilities for sampling and rate limiting actions.
Usage
A Sampler can be used to test if an action is allowed based on a particular policy.
Rate Limiting
The rate limiting sampler allows a given number of samples per second:
val sampler = Sampler.rateLimiting(1L);
if (sampler.sample()) {
performAction()
}
Percentage
The percentage sampler allows the given percentage of samples:
val sampler = Sampler.percentage(50);
if (sampler.sample()) {
performAction()
}
Always
The always sampler allows all samples:
val sampler = Sampler.always();
if (sampler.sample()) {
performAction()
}