Package org.apache.jackrabbit.stats
Class TimeSeriesRecorder
- java.lang.Object
-
- org.apache.jackrabbit.stats.TimeSeriesRecorder
-
- All Implemented Interfaces:
TimeSeries
public class TimeSeriesRecorder extends 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 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 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
-
-