APIdia Launch Partner
Top Fields Constructors Methods
jdk.jfr.internal.settings

public final Class Throttler

extends Object
Class Inheritance
Imports
java.util.Random, java.util.concurrent.locks.ReentrantLock, jdk.jfr.internal.PlatformEventType

Field Summary

Modifier and TypeField and Description
private long
private long
private volatile ThrottlerWindow
private double
private boolean
private static final ThrottlerParameters
private static final long
private double
private static final long
private ThrottlerParameters
private final ReentrantLock
private static final long
private static final long
private long
private final Random
private long
private static final long
private static final long
private static final long
private boolean
private final ThrottlerWindow
private final ThrottlerWindow

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static double
adjustBoundary(double u)

private long
private long
private double
computeEwmaAlphaCoefficient(long lookBackCount)

public void
configure(long sampleSize, long periodMillis)

private ThrottlerWindow
private void
private long
deriveSamplingInterval(double sampleSize, ThrottlerWindow expired)

private double
exponentiallyWeightedMovingAverage(double y, double alpha, double s)

private boolean
is_disabled(long eventSampleSize)

private static long
nextGeometric(double p, double u)

private ThrottlerWindow
private ThrottlerParameters
private void
private double
private void
rotateWindow(long ticks)

public boolean
sample(long ticks)

private ThrottlerWindow
private ThrottlerParameters
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

accumulatedDebtCarryCountback to summary
private long accumulatedDebtCarryCount
accumulatedDebtCarryLimitback to summary
private long accumulatedDebtCarryLimit
activeWindowback to summary
private volatile ThrottlerWindow activeWindow
averagePopulationSizeback to summary
private double averagePopulationSize
disabledback to summary
private boolean disabled
DISABLED_PARAMETERSback to summary
private static final ThrottlerParameters DISABLED_PARAMETERS
EVENT_THROTTLER_OFFback to summary
private static final long EVENT_THROTTLER_OFF
ewmaPopulationSizeback to summary
private double ewmaPopulationSize
HOURback to summary
private static final long HOUR
lastParametersback to summary
private ThrottlerParameters lastParameters
lockback to summary
private final ReentrantLock lock
MILLIUNITSback to summary
private static final long MILLIUNITS
MINUTEback to summary
private static final long MINUTE
periodMillisback to summary
private long periodMillis
randomGeneratorback to summary
private final Random randomGenerator
sampleSizeback to summary
private long sampleSize
TEN_PER_1000_MS_IN_DAYSback to summary
private static final long TEN_PER_1000_MS_IN_DAYS
TEN_PER_1000_MS_IN_HOURSback to summary
private static final long TEN_PER_1000_MS_IN_HOURS
TEN_PER_1000_MS_IN_MINUTESback to summary
private static final long TEN_PER_1000_MS_IN_MINUTES
updateback to summary
private boolean update
window0back to summary
private final ThrottlerWindow window0
window1back to summary
private final ThrottlerWindow window1

Constructor Detail

Throttlerback to summary
public Throttler()

Method Detail

adjustBoundaryback to summary
private static double adjustBoundary(double u)
amortizeDebtback to summary
private long amortizeDebt(ThrottlerWindow expired)
computeAccumulatedDebtCarryLimitback to summary
private long computeAccumulatedDebtCarryLimit(ThrottlerParameters parameters)
computeEwmaAlphaCoefficientback to summary
private double computeEwmaAlphaCoefficient(long lookBackCount)
configureback to summary
public void configure(long sampleSize, long periodMillis)
configureback to summary
private ThrottlerWindow configure(ThrottlerParameters parameters, ThrottlerWindow expired)
configureback to summary
private void configure(ThrottlerParameters parameters)
deriveSamplingIntervalback to summary
private long deriveSamplingInterval(double sampleSize, ThrottlerWindow expired)
exponentiallyWeightedMovingAverageback to summary
private double exponentiallyWeightedMovingAverage(double y, double alpha, double s)
is_disabledback to summary
private boolean is_disabled(long eventSampleSize)
nextGeometricback to summary
private static long nextGeometric(double p, double u)
nextWindowback to summary
private ThrottlerWindow nextWindow(ThrottlerWindow expired)
nextWindowParametersback to summary
private ThrottlerParameters nextWindowParameters()
normalizeback to summary
private void normalize()
projectPopulationSizeback to summary
private double projectPopulationSize(ThrottlerWindow expired)
rotateWindowback to summary
private void rotateWindow(long ticks)
sampleback to summary
public boolean sample(long ticks)
setRateback to summary
private ThrottlerWindow setRate(ThrottlerParameters parameters, ThrottlerWindow expired)
updateParametersback to summary
private ThrottlerParameters updateParameters()