public class RollUp extends SampleProcessor
SampleProcessor
to perform step-aligned roll-ups
This class produces samples which are step-aligned, that is to say that regardless of the input sample interval, the output will occur at fixed intervals equal to a specified value. For example, a step value of 300 seconds will yield results that occur at 5 minute intervals, where each interval is aligned to the hour (:05, :10, :15, :20, etc).
A "heartbeat" is used to determine an upper bound on the input sample interval. Late samples are considered "unknown", and when the duration of all unknown samples is greater than half of the step period, that data point is considered unknown as well (unknown samples have values of Double.NaN).
When the input contains sample intervals less than the step period, the samples between steps are "rolled up" to create each data point. A roll-up is simply the average of the intervening samples.
Constructor and Description |
---|
RollUp(long heartBeat,
long step,
TimeUnit timeUnits)
Create a new RollUp processor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
hasNext() |
Results.Row |
next() |
String |
toString() |
fillMissingSamples, getMetrics, getProducer, getResource, remove, setProducer
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEachRemaining
public RollUp(long heartBeat, long step, TimeUnit timeUnits)
heartBeat
- maximum period between input samplesstep
- the sample interval to outputtimeUnits
- the units of time to use for step
and
heartBeat
public boolean hasNext()
public Results.Row next()
Copyright © 2016. All rights reserved.