Package kieker.analysis.generic
Class RealtimeRecordDelayFilter
java.lang.Object
teetime.framework.CompositeStage
kieker.analysis.generic.RealtimeRecordDelayFilter
public class RealtimeRecordDelayFilter
extends teetime.framework.CompositeStage
Forwards incoming
The implementation with TeeTime consists of two components: At first a consumer stage (declared as passive) which receives incoming records and stores them in a queue. At second a producer stage (always active) which takes the records from the queue and forwards them with the proper delay.
Note: We assume that the incoming records are ordered by their timestamps. The stage does not provide an ordering mechanism. Records that are received "too late" are forwarded with a delay of 0 but stay "too late".
IMonitoringRecord
s with delays computed from the IMonitoringRecord.getLoggingTimestamp()
value
(assumed to be in the configured resolution). For example, after initialization, if records with logging timestamps 3000 and 4500 nanos are received, the
first record is forwarded immediately; the second will be forwarded 1500 nanos later. The acceleration factor can be used to accelerate/slow down the
replay (default 1.0, which means no acceleration/slow down).The implementation with TeeTime consists of two components: At first a consumer stage (declared as passive) which receives incoming records and stores them in a queue. At second a producer stage (always active) which takes the records from the queue and forwards them with the proper delay.
Note: We assume that the incoming records are ordered by their timestamps. The stage does not provide an ordering mechanism. Records that are received "too late" are forwarded with a delay of 0 but stay "too late".
- Since:
- 1.6
- Author:
- Andre van Hoorn, Robert von Massow, Jan Waller, Lars Bluemke
-
Field Summary
-
Constructor Summary
Constructors Constructor Description RealtimeRecordDelayFilter(java.util.concurrent.TimeUnit timeunit, double accelerationFactor)
Creates a new instance of this class using the given parameters. -
Method Summary
Modifier and Type Method Description teetime.framework.InputPort<IMonitoringRecord>
getInputPort()
long
getNegativeDelayWarningBound()
Returns the time bound for which a warning is displayed when the computed delay falls below -(time bound).teetime.framework.OutputPort<IMonitoringRecord>
getOutputPort()
void
setNegativeDelayWarningBound(long negativeDelay, java.util.concurrent.TimeUnit unit)
Sets the time bound for which a warning is displayed when the computed delay falls below -(time bound).
-
Constructor Details
-
RealtimeRecordDelayFilter
public RealtimeRecordDelayFilter(java.util.concurrent.TimeUnit timeunit, double accelerationFactor)Creates a new instance of this class using the given parameters.- Parameters:
timeunit
- The time unit to be used.accelerationFactor
- Determines the replay speed.
-
-
Method Details
-
getNegativeDelayWarningBound
public long getNegativeDelayWarningBound()Returns the time bound for which a warning is displayed when the computed delay falls below -(time bound).- Returns:
- negativeDelayWarningBound
-
setNegativeDelayWarningBound
public void setNegativeDelayWarningBound(long negativeDelay, java.util.concurrent.TimeUnit unit)Sets the time bound for which a warning is displayed when the computed delay falls below -(time bound).- Parameters:
negativeDelay
- The chosen time bound.unit
- Time unit of the chosen time bound.
-
getInputPort
-
getOutputPort
-