Package org.apache.jackrabbit.stats
Class TimeSeriesRecorder
- java.lang.Object
-
- org.apache.jackrabbit.stats.TimeSeriesRecorder
-
- All Implemented Interfaces:
TimeSeries
public class TimeSeriesRecorder extends java.lang.Object implements TimeSeries
Recorder of a time series. An instance of this class records (and clears) the state of a givenAtomicLongcounter once every second and exposes the collected time series through theTimeSeriesinterface.
-
-
Constructor Summary
Constructors Constructor Description TimeSeriesRecorder(boolean resetValueEachSecond)Same asTimeSeriesRecorder(boolean, long)passing long for the 2nd argumentTimeSeriesRecorder(boolean resetValueEachSecond, long missingValue)TimeSeriesRecorder(RepositoryStatistics.Type type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.concurrent.atomic.AtomicLonggetCounter()Returns theAtomicLonginstance used to measure the value for the time series.longgetMissingValue()The value used to encode missing values i.e.long[]getValuePerHour()Returns the measured value per hour over the last week.long[]getValuePerMinute()Returns the measured value per minute over the last hour.long[]getValuePerSecond()Returns the measured value per second over the last minute.long[]getValuePerWeek()Returns the measured value per week over the last three years.voidrecordOneSecond()Records the number of measured values over the past second and resets the counter.
-
-
-
Constructor Detail
-
TimeSeriesRecorder
public TimeSeriesRecorder(RepositoryStatistics.Type type)
-
TimeSeriesRecorder
public TimeSeriesRecorder(boolean resetValueEachSecond)
Same asTimeSeriesRecorder(boolean, long)passing long for the 2nd argument- Parameters:
resetValueEachSecond- Whether to reset value each second
-
TimeSeriesRecorder
public TimeSeriesRecorder(boolean resetValueEachSecond, long missingValue)- Parameters:
resetValueEachSecond- Whether to reset value each secondmissingValue- The value used to encode missing values
-
-
Method Detail
-
getCounter
public java.util.concurrent.atomic.AtomicLong getCounter()
Returns theAtomicLonginstance used to measure the value for the time series.- Returns:
- value
-
recordOneSecond
public void recordOneSecond()
Records the number of measured values over the past second and resets the counter. This method should be scheduled to be called once per second.
-
getMissingValue
public long getMissingValue()
Description copied from interface:TimeSeriesThe value used to encode missing values i.e. for a period where no value was recorded.- Specified by:
getMissingValuein interfaceTimeSeries- Returns:
- default value
-
getValuePerSecond
public long[] getValuePerSecond()
Description copied from interface:TimeSeriesReturns the measured value per second over the last minute.- Specified by:
getValuePerSecondin interfaceTimeSeries- Returns:
- measured value per second, in chronological order
-
getValuePerMinute
public long[] getValuePerMinute()
Description copied from interface:TimeSeriesReturns the measured value per minute over the last hour.- Specified by:
getValuePerMinutein interfaceTimeSeries- Returns:
- measured value per minute, in chronological order
-
getValuePerHour
public long[] getValuePerHour()
Description copied from interface:TimeSeriesReturns the measured value per hour over the last week.- Specified by:
getValuePerHourin interfaceTimeSeries- Returns:
- measured value per hour, in chronological order
-
getValuePerWeek
public long[] getValuePerWeek()
Description copied from interface:TimeSeriesReturns the measured value per week over the last three years.- Specified by:
getValuePerWeekin interfaceTimeSeries- Returns:
- measured value per week, in chronological order
-
-