T - Type parameter for this abstract class concrete implementations may use Long or IMonitoringRecord.public abstract class AbstractCurrentTimeEventGenerationFilter<T>
extends teetime.framework.AbstractConsumerStage<T>
IMonitoringRecords.
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
TimestampRecords. |
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, getInputPortabort, 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, workCompletedprotected volatile long firstTimestamp
protected volatile long maxTimestamp
protected volatile long mostRecentEventFired
protected final long timerResolution
protected final teetime.framework.OutputPort<TimestampRecord> currentTimeRecordOutputPort
TimestampRecords.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