T
- Type parameter for this abstract class concrete implementations may use Long or IMonitoringRecord.public abstract class AbstractCurrentTimeEventGenerationFilter<T>
extends teetime.framework.AbstractConsumerStage<T>
IMonitoringRecord
s.
TimestampRecord
with the given timestamp.firstTimestamp
and future events are generated at firstTimestamp
+ i *
timerResolution
.IMonitoringRecord
may lead to future TimestampRecord
as follows:
IMonitoringRecord
with logging timestamp tstamp leads to the new timer events satisfying
firstTimestamp
+ i * timerResolution
< tstamp.Modifier and Type | Field and Description |
---|---|
protected teetime.framework.OutputPort<TimestampRecord> |
currentTimeRecordOutputPort
The output port for
TimestampRecord s. |
protected teetime.framework.OutputPort<java.lang.Long> |
currentTimeValueOutputPort
The output port for
Long timestamps. |
protected long |
firstTimestamp
Timestamp of the record that was received first.
|
protected long |
maxTimestamp
Maximum timestamp received so far.
|
protected long |
mostRecentEventFired
The timestamp of the most recent timer event.
|
protected long |
timerResolution
The timer resolution used.
|
Constructor and Description |
---|
AbstractCurrentTimeEventGenerationFilter(long timerResolution)
Creates an event generator which generates time events with the given resolution in timeunits.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
execute(T element)
This method represents the input port for new records or raw timestamps.
|
teetime.framework.OutputPort<TimestampRecord> |
getCurrentTimeRecordOutputPort() |
teetime.framework.OutputPort<java.lang.Long> |
getCurrentTimeValueOutputPort() |
createInputPort, execute, getInputPort
abort, addInputPortRemovedListener, addOutputPortRemovedListener, compareAndSetBeingExecuted, createInputPort, createInputPort, createInputPort, createOutputPort, createOutputPort, createOutputPort, createOutputPort, declareActive, declarePassive, executeByFramework, getCurrentState, getId, getInputPorts, getOutputPorts, getOwningThread, getTerminationStrategy, isActive, isBeingExecuted, isPaused, isProducer, isStateless, onSignal, onStarting, onTerminating, onValidating, removeDynamicPort, removeDynamicPort, setPaused, setStateless, shouldBeTerminated, signalAlreadyReceived, terminateStage, toString, workCompleted
protected volatile long firstTimestamp
protected volatile long maxTimestamp
protected volatile long mostRecentEventFired
protected final long timerResolution
protected final teetime.framework.OutputPort<TimestampRecord> currentTimeRecordOutputPort
TimestampRecord
s.protected final teetime.framework.OutputPort<java.lang.Long> currentTimeValueOutputPort
Long
timestamps.public AbstractCurrentTimeEventGenerationFilter(long timerResolution)
timerResolution
- The timer resolution usedprotected abstract void execute(T element)
execute
in class teetime.framework.AbstractConsumerStage<T>
element
- The incoming record or timestamp.public teetime.framework.OutputPort<TimestampRecord> getCurrentTimeRecordOutputPort()
public teetime.framework.OutputPort<java.lang.Long> getCurrentTimeValueOutputPort()
Copyright 2020 Kieker Project, http://kieker-monitoring.net