Package org.carrot2.util
Class RollingWindowAverage
- java.lang.Object
-
- org.carrot2.util.RollingWindowAverage
-
public class RollingWindowAverage extends Object
Calculates an average of values showing up in a given time window. To keep processing efficient, bucketing is performed.This class is not thread-safe.
-
-
Constructor Summary
Constructors Constructor Description RollingWindowAverage(long windowSizeMillis, long bucketSizeMillis)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(long timestamp, long value)
Adds a new entry.double
getCurrentAverage()
long
getUpdatesInWindow()
Returns the number of updates kept in the rolling window's scope.long
getWindowSizeMillis()
Returns the size of the rolling window.
-
-
-
Field Detail
-
MILLIS
public static final int MILLIS
Helpful constant for one millisecond.- See Also:
- Constant Field Values
-
SECOND
public static final int SECOND
Helpful constant for one second.- See Also:
- Constant Field Values
-
MINUTE
public static final int MINUTE
Helpful constant for one minute.- See Also:
- Constant Field Values
-
-
Method Detail
-
add
public final void add(long timestamp, long value)
Adds a new entry.
-
getCurrentAverage
public final double getCurrentAverage()
-
getUpdatesInWindow
public final long getUpdatesInWindow()
Returns the number of updates kept in the rolling window's scope.
-
getWindowSizeMillis
public final long getWindowSizeMillis()
Returns the size of the rolling window.
-
-