Class AbstractCallTreeFilter<T>
java.lang.Object
teetime.framework.AbstractStage
teetime.framework.AbstractConsumerStage<T>
kieker.analysis.architecture.trace.AbstractTraceAnalysisStage<T>
kieker.analysis.architecture.trace.AbstractTraceProcessingStage<MessageTrace>
kieker.analysis.plugin.trace.AbstractMessageTraceProcessingFilter
kieker.visualization.trace.call.tree.AbstractCallTreeFilter<T>
- 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
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
AbstractCallTreeFilter.IPairFactory<T>
-
Field Summary
-
Constructor Summary
Constructors Constructor Description AbstractCallTreeFilter(SystemModelRepository repository)
Creates a new instance of this class using the given parameters. -
Method Summary
Modifier and Type Method Description protected static <T> void
addTraceToTree(AbstractCallTreeNode<T> root, MessageTrace trace, AbstractCallTreeFilter.IPairFactory<T> pairFactory, boolean aggregated)
Adds the given trace to the given tree.protected static java.lang.String
nodeLabel(AbstractCallTreeNode<?> node, boolean shortLabels)
Add a node label.protected static void
saveTreeToDotFile(AbstractCallTreeNode<?> root, java.lang.String outputFn, boolean includeWeights, boolean includeEois, boolean shortLabels)
This method saves the given tree as valid dot code into the given file.static <T> void
writeDotForMessageTrace(AbstractCallTreeNode<T> root, AbstractCallTreeFilter.IPairFactory<T> pairFactory, MessageTrace msgTrace, java.lang.String outputFilename, boolean includeWeights, boolean shortLabels)
Write dot info for message trace.Methods inherited from class kieker.analysis.plugin.trace.AbstractMessageTraceProcessingFilter
execute
Methods inherited from class kieker.analysis.architecture.trace.AbstractTraceProcessingStage
getErrorCount, getLastTraceIdError, getLastTraceIdSuccess, getSuccessCount, getTotalCount, printStatusMessage, reportError, reportSuccess
Methods inherited from class kieker.analysis.architecture.trace.AbstractTraceAnalysisStage
createExecutionByEntityNames, createExecutionByEntityNames, createExecutionByEntityNames, createExecutionByEntityNames, getSystemModelRepository, printDebugLogMessage, printErrorLogMessage
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
-
Constructor Details
-
AbstractCallTreeFilter
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 nodeshortLabels
- 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.IOExceptionThis 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 TraceProcessingExceptionAdds 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.IOExceptionWrite dot info for message trace.- Type Parameters:
T
- type of trace- Parameters:
root
- rootpairFactory
- factory to create pairsmsgTrace
- message traceoutputFilename
- output fileincludeWeights
- weightsshortLabels
- flag for short labels- Throws:
TraceProcessingException
- when there is a processing error with the tracejava.io.IOException
-