Class RecordCurrentTimeEventGenerationFilter

java.lang.Object
teetime.framework.AbstractStage
teetime.framework.AbstractConsumerStage<T>
kieker.analysis.generic.time.AbstractCurrentTimeEventGenerationFilter<kieker.common.record.IMonitoringRecord>
kieker.analysis.generic.time.RecordCurrentTimeEventGenerationFilter

public class RecordCurrentTimeEventGenerationFilter
extends AbstractCurrentTimeEventGenerationFilter<kieker.common.record.IMonitoringRecord>
Generates time events with a given resolution based on the timestamps of incoming IMonitoringRecords.
  1. The first record received immediately leads to a new TimestampRecord with the given timestamp.
  2. The timestamp of the first record is stored as AbstractCurrentTimeEventGenerationFilter.firstTimestamp and future events are generated at AbstractCurrentTimeEventGenerationFilter.firstTimestamp + i * AbstractCurrentTimeEventGenerationFilter.timerResolution.
  3. Future IMonitoringRecord may lead to future TimestampRecord as follows:
    1. A newly incoming IMonitoringRecord with logging timestamp tstamp leads to the new timer events satisfying AbstractCurrentTimeEventGenerationFilter.firstTimestamp + i * AbstractCurrentTimeEventGenerationFilter.timerResolution < tstamp.
It is guaranteed that the generated timestamps are in ascending order.
Since:
1.3
  • Field Summary

    Fields inherited from class teetime.framework.AbstractConsumerStage

    inputPort

    Fields inherited from class teetime.framework.AbstractStage

    logger
  • Constructor Summary

    Constructors 
    Constructor Description
    RecordCurrentTimeEventGenerationFilter​(long timerResolution)
    Creates an event generator which generates time events with the given resolution in timeunits.
  • Method Summary

    Modifier and Type Method Description
    protected void execute​(kieker.common.record.IMonitoringRecord record)
    Evaluates the given timestamp internal current time which may lead to newly generated events via currentTimeRecordOutputPort.

    Methods inherited from class teetime.framework.AbstractConsumerStage

    createInputPort, execute, getInputPort

    Methods inherited from class teetime.framework.AbstractStage

    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RecordCurrentTimeEventGenerationFilter

      public RecordCurrentTimeEventGenerationFilter​(long timerResolution)
      Creates an event generator which generates time events with the given resolution in timeunits.
      Parameters:
      timerResolution - The timer resolution used
  • Method Details

    • execute

      protected void execute​(kieker.common.record.IMonitoringRecord record)
      Evaluates the given timestamp internal current time which may lead to newly generated events via currentTimeRecordOutputPort.
      Specified by:
      execute in class AbstractCurrentTimeEventGenerationFilter<kieker.common.record.IMonitoringRecord>
      Parameters:
      record - The next record.