Class LatencyAccumulator
- java.lang.Object
-
- org.terracotta.statistics.derived.latency.LatencyAccumulator
-
- All Implemented Interfaces:
LatencyStatistic,ChainedEventObserver,ChainedObserver
public class LatencyAccumulator extends java.lang.Object implements LatencyStatistic, ChainedEventObserver
This accumulator accumulate latency metrics. It is lock-free so when computing some values,it is possible that a thread is writing some values while the snapshot is being computed. So there is the possibility of an error in the result.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.LongAddercountprivate static longDEFAULT_MAXprivate static longDEFAULT_MINprivate java.util.concurrent.atomic.LongAccumulatormaximumprivate java.util.concurrent.atomic.LongAccumulatorminimumprivate java.util.concurrent.atomic.LongAddertotal
-
Constructor Summary
Constructors Modifier Constructor Description privateLatencyAccumulator(long... latencies)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccumulate(long latency)voidaccumulate(LatencyAccumulator accumulator)static LatencyAccumulatoraccumulator(long... latencies)doubleaverage()longcount()static LatencyAccumulatorempty()voidevent(long time, long latency)Called to indicate an event happened.booleanisEmpty()java.lang.Longmaximum()java.lang.Longminimum()java.lang.StringtoString()longtotal()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.terracotta.statistics.derived.latency.LatencyStatistic
averageStatistic, maximumStatistic, minimumStatistic
-
-
-
-
Field Detail
-
DEFAULT_MIN
private static final long DEFAULT_MIN
- See Also:
- Constant Field Values
-
DEFAULT_MAX
private static final long DEFAULT_MAX
- See Also:
- Constant Field Values
-
count
private final java.util.concurrent.atomic.LongAdder count
-
total
private final java.util.concurrent.atomic.LongAdder total
-
minimum
private final java.util.concurrent.atomic.LongAccumulator minimum
-
maximum
private final java.util.concurrent.atomic.LongAccumulator maximum
-
-
Method Detail
-
accumulate
public void accumulate(long latency)
-
accumulate
public void accumulate(LatencyAccumulator accumulator)
-
count
public long count()
-
total
public long total()
-
isEmpty
public boolean isEmpty()
-
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
-
maximum
public java.lang.Long maximum()
- Specified by:
maximumin interfaceLatencyStatistic- Returns:
- The maximum in ns or null if it does not exist yet
-
minimum
public java.lang.Long minimum()
- Specified by:
minimumin interfaceLatencyStatistic- Returns:
- The minimum in ns or null if it does not exist yet
-
average
public double average()
- Specified by:
averagein interfaceLatencyStatistic- Returns:
- The average in ns or NaN if no value
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
accumulator
public static LatencyAccumulator accumulator(long... latencies)
-
empty
public static LatencyAccumulator empty()
-
-