public final class AdaptiveTelemetrySampler extends java.lang.Object implements Stoppable, TelemetrySampler
FixedRateTelemetrySampler
for doing the actual sampling and a timer for re-evaluating the sampling percentage.
Created by gupele on 11/9/2016.Constructor and Description |
---|
AdaptiveTelemetrySampler() |
Modifier and Type | Method and Description |
---|---|
java.util.Set<java.lang.Class> |
getExcludeTypes() |
java.util.Set<java.lang.Class> |
getIncludeTypes() |
java.lang.Double |
getSamplingPercentage() |
void |
initialize(java.lang.String maxTelemetriesPerSecond,
java.lang.String evaluationIntervalInSeconds,
java.lang.String samplingPercentageDecreaseTimeoutInSeconds,
java.lang.String samplingPercentageIncreaseTimeoutInSeconds,
java.lang.String minSamplingPercentage,
java.lang.String maxSamplingPercentage,
java.lang.String initialSamplingPercentage,
java.lang.String movingAverageRatio)
This method must be called prior to any use of the instance
|
boolean |
isSampledIn(Telemetry telemetry) |
void |
setExcludeTypes(java.lang.String types) |
void |
setIncludeTypes(java.lang.String types) |
void |
setSamplingPercentage(java.lang.Double samplingPercentage) |
void |
stop(long timeout,
java.util.concurrent.TimeUnit timeUnit) |
public void stop(long timeout, java.util.concurrent.TimeUnit timeUnit)
public void initialize(java.lang.String maxTelemetriesPerSecond, java.lang.String evaluationIntervalInSeconds, java.lang.String samplingPercentageDecreaseTimeoutInSeconds, java.lang.String samplingPercentageIncreaseTimeoutInSeconds, java.lang.String minSamplingPercentage, java.lang.String maxSamplingPercentage, java.lang.String initialSamplingPercentage, java.lang.String movingAverageRatio)
maxTelemetriesPerSecond
- maxTelemetriesPerSecondevaluationIntervalInSeconds
- evaluationIntervalInSecondssamplingPercentageDecreaseTimeoutInSeconds
- samplingPercentageDecreaseTimeoutInSecondssamplingPercentageIncreaseTimeoutInSeconds
- samplingPercentageIncreaseTimeoutInSecondsminSamplingPercentage
- minSamplingPercentagemaxSamplingPercentage
- maxSamplingPercentageinitialSamplingPercentage
- initialSamplingPercentagemovingAverageRatio
- movingAverageRatiopublic java.util.Set<java.lang.Class> getExcludeTypes()
getExcludeTypes
in interface TelemetrySampler
public void setExcludeTypes(java.lang.String types)
setExcludeTypes
in interface TelemetrySampler
public java.util.Set<java.lang.Class> getIncludeTypes()
getIncludeTypes
in interface TelemetrySampler
public void setIncludeTypes(java.lang.String types)
setIncludeTypes
in interface TelemetrySampler
public java.lang.Double getSamplingPercentage()
getSamplingPercentage
in interface TelemetrySampler
public void setSamplingPercentage(java.lang.Double samplingPercentage)
setSamplingPercentage
in interface TelemetrySampler
public boolean isSampledIn(Telemetry telemetry)
isSampledIn
in interface TelemetrySampler