Class TimestampCurrentTimeEventGenerationFilter

java.lang.Object
teetime.framework.AbstractStage
teetime.framework.AbstractConsumerStage<T>
kieker.analysis.generic.time.AbstractCurrentTimeEventGenerationFilter<java.lang.Long>
kieker.analysis.generic.time.TimestampCurrentTimeEventGenerationFilter

public class TimestampCurrentTimeEventGenerationFilter
extends AbstractCurrentTimeEventGenerationFilter<java.lang.Long>
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
Author:
Andre van Hoorn, Lars Bluemke
  • Field Summary

    Fields inherited from class teetime.framework.AbstractConsumerStage

    inputPort

    Fields inherited from class teetime.framework.AbstractStage

    logger
  • Constructor Summary

    Constructors 
    Constructor Description
    TimestampCurrentTimeEventGenerationFilter​(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​(java.lang.Long timestamp)
    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

    • TimestampCurrentTimeEventGenerationFilter

      public TimestampCurrentTimeEventGenerationFilter​(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​(java.lang.Long timestamp)
      Evaluates the given timestamp internal current time which may lead to newly generated events via currentTimeRecordOutputPort.
      Specified by:
      execute in class AbstractCurrentTimeEventGenerationFilter<java.lang.Long>
      Parameters:
      timestamp - The next timestamp.