Class EventRateSimpleMovingAverage
- java.lang.Object
-
- org.terracotta.statistics.derived.EventRateSimpleMovingAverage
-
- All Implemented Interfaces:
ChainedEventObserver,ChainedObserver,ValueStatistic<java.lang.Double>
public class EventRateSimpleMovingAverage extends java.lang.Object implements ChainedEventObserver, ValueStatistic<java.lang.Double>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classEventRateSimpleMovingAverage.CounterPartition
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicReference<EventRateSimpleMovingAverage.CounterPartition>activePartitionprivate java.util.Queue<EventRateSimpleMovingAverage.CounterPartition>archiveprivate static intPARTITION_COUNTprivate longpartitionSizeprivate longwindowSize
-
Constructor Summary
Constructors Constructor Description EventRateSimpleMovingAverage(long time, java.util.concurrent.TimeUnit unit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidarchive(EventRateSimpleMovingAverage.CounterPartition partition)voidevent(long time, long latency)Called to indicate an event happened.java.lang.Doublerate(java.util.concurrent.TimeUnit base)java.lang.DoublerateUsingSeconds()voidsetWindow(long time, java.util.concurrent.TimeUnit unit)StatisticTypetype()java.lang.Doublevalue()
-
-
-
Field Detail
-
PARTITION_COUNT
private static final int PARTITION_COUNT
- See Also:
- Constant Field Values
-
archive
private final java.util.Queue<EventRateSimpleMovingAverage.CounterPartition> archive
-
activePartition
private final java.util.concurrent.atomic.AtomicReference<EventRateSimpleMovingAverage.CounterPartition> activePartition
-
windowSize
private volatile long windowSize
-
partitionSize
private volatile long partitionSize
-
-
Method Detail
-
setWindow
public void setWindow(long time, java.util.concurrent.TimeUnit unit)
-
value
public java.lang.Double value()
- Specified by:
valuein interfaceValueStatistic<java.lang.Double>- Returns:
- The current statistic value
-
type
public StatisticType type()
- Specified by:
typein interfaceValueStatistic<java.lang.Double>- Returns:
- The statistic type
-
rateUsingSeconds
public java.lang.Double rateUsingSeconds()
-
rate
public java.lang.Double rate(java.util.concurrent.TimeUnit base)
-
event
public void event(long time, long latency)Description copied from interface:ChainedEventObserverCalled to indicate an event happened.- Specified by:
eventin interfaceChainedEventObserver- Parameters:
time- the clock at event completion in nslatency- the event latency in ns
-
archive
private void archive(EventRateSimpleMovingAverage.CounterPartition partition)
-
-