Class TraceReconstructionStage

java.lang.Object
teetime.framework.AbstractStage
teetime.framework.AbstractConsumerStage<T>

public class TraceReconstructionStage
extends AbstractTraceProcessingStage<Execution>
Uses the incoming data to enrich the connected repository with the reconstructed traces. Input port: @{link Execution} Output port: - messageTraceOutputPort @{link MessageTrace} - executionTraceOutputPort @{link ExecutionTrace} - invalidExecutionTraceOutputPort @{linke InvalidExecutiontrace}
Since:
1.1
Author:
Andre van Hoorn, Reiner Jung -- ported to teetime
  • Constructor Details

    • TraceReconstructionStage

      public TraceReconstructionStage​(SystemModelRepository repository, java.util.concurrent.TimeUnit timeunit, boolean ignoreInvalidTraces, java.lang.Long maxTraceDuration)
      Creates a new instance of this class using the given parameters.
      Parameters:
      repository - the system model repository
      timeunit - the used time unit, e.g., NANOSECONDS
      ignoreInvalidTraces - set whether invalid traces should be ignored (true), or the filter must terminate (false)
      maxTraceDuration - max time duration for a trace, if null Long.MAX_VALUE
  • Method Details

    • getInvalidTraces

      public java.util.Set<java.lang.Long> getInvalidTraces()
      Returns a set of the IDs of invalid traces.
      Returns:
      a set of the IDs of invalid traces
    • getMinTin

      public final long getMinTin()
      Returns the minimum tin timestamp of a processed execution.
      Returns:
      the minimum tin timestamp of a processed execution
    • getMaxTout

      public final long getMaxTout()
      Returns the maximum tout timestamp of a processed execution.
      Returns:
      the maximum tout timestamp of a processed execution
    • execute

      protected void execute​(Execution execution) throws java.lang.Exception
      Specified by:
      execute in class teetime.framework.AbstractConsumerStage<Execution>
      Throws:
      java.lang.Exception
    • getMaxTraceDuration

      public final long getMaxTraceDuration()
      Return the number of timeunits after which a pending trace is considered to have timed out.
      Returns:
      the timeout duration for a pending trace in timeunits
    • onTerminating

      protected void onTerminating()
      Overrides:
      onTerminating in class teetime.framework.AbstractStage
    • printStatusMessage

      public void printStatusMessage()
      Description copied from class: AbstractTraceProcessingStage
      Returns a user-addressed status message to be logged by the calling tool. Extending classes may override this method but should call the then-inherited method first.
      Overrides:
      printStatusMessage in class AbstractTraceProcessingStage<Execution>
    • getMessageTraceOutputPort

      public teetime.framework.OutputPort<MessageTrace> getMessageTraceOutputPort()
    • getExecutionTraceOutputPort

      public teetime.framework.OutputPort<ExecutionTrace> getExecutionTraceOutputPort()
    • getInvalidExecutionTraceOutputPort

      public teetime.framework.OutputPort<InvalidExecutionTrace> getInvalidExecutionTraceOutputPort()