Class AbstractCallTreeFilter<T>

java.lang.Object
teetime.framework.AbstractStage
Type Parameters:
T -
Direct Known Subclasses:
AbstractAggregatedCallTreeFilter

public abstract class AbstractCallTreeFilter<T>
extends AbstractMessageTraceProcessingFilter
Plugin providing the creation of calling trees both for individual traces and an aggregated form multiple traces.
Since:
1.1
Author:
Andre van Hoorn
  • Constructor Details

    • AbstractCallTreeFilter

      public AbstractCallTreeFilter​(SystemModelRepository repository)
      Creates a new instance of this class using the given parameters.
      Parameters:
      configuration - The configuration for this component.
      projectContext - The project context for this component.
  • Method Details

    • nodeLabel

      protected static final java.lang.String nodeLabel​(AbstractCallTreeNode<?> node, boolean shortLabels)
      Add a node label.
      Parameters:
      node - the node
      shortLabels - selects whether short or long labels should be produced
      Returns:
      the label string
    • saveTreeToDotFile

      protected static void saveTreeToDotFile​(AbstractCallTreeNode<?> root, java.lang.String outputFn, boolean includeWeights, boolean includeEois, boolean shortLabels) throws java.io.IOException
      This method saves the given tree as valid dot code into the given file.
      Parameters:
      root - The root of the tree.
      outputFn - The file in which the code will be written.
      includeWeights - Determines whether to include weights or not.
      includeEois - Determines whether to include the execution order indices or not.
      shortLabels - Determines whether to use short labels or not.
      Throws:
      java.io.IOException - on IO error
    • addTraceToTree

      protected static <T> void addTraceToTree​(AbstractCallTreeNode<T> root, MessageTrace trace, AbstractCallTreeFilter.IPairFactory<T> pairFactory, boolean aggregated) throws TraceProcessingException
      Adds the given trace to the given tree.
      Type Parameters:
      T - The type of the tree.
      Parameters:
      root - The root of the call tree.
      trace - The trace to add.
      pairFactory - The factory creating the necessary pairs for the tree.
      aggregated - Determines whether the tree is aggregated or not.
      Throws:
      TraceProcessingException - If the message type is not supported or the trace is somehow invalid.
    • writeDotForMessageTrace

      public static <T> void writeDotForMessageTrace​(AbstractCallTreeNode<T> root, AbstractCallTreeFilter.IPairFactory<T> pairFactory, MessageTrace msgTrace, java.lang.String outputFilename, boolean includeWeights, boolean shortLabels) throws TraceProcessingException, java.io.IOException
      Write dot info for message trace.
      Type Parameters:
      T - type of trace
      Parameters:
      root - root
      pairFactory - factory to create pairs
      msgTrace - message trace
      outputFilename - output file
      includeWeights - weights
      shortLabels - flag for short labels
      Throws:
      TraceProcessingException - when there is a processing error with the trace
      java.io.IOException