Kieker 1.12

kieker.analysis.plugin.filter.flow
Class TraceAggregationFilter

java.lang.Object
  extended by kieker.analysis.analysisComponent.AbstractAnalysisComponent
      extended by kieker.analysis.plugin.AbstractPlugin
          extended by kieker.analysis.plugin.filter.AbstractFilterPlugin
              extended by kieker.analysis.plugin.filter.flow.TraceAggregationFilter
All Implemented Interfaces:
IAnalysisComponent, IFilterPlugin, IPlugin

public class TraceAggregationFilter
extends AbstractFilterPlugin

This filter collects incoming traces for a specified amount of time. Any traces representing the same series of events will be used to calculate statistical informations like the average runtime of this kind of trace. Only one specimen of these traces containing this information will be forwarded from this filter. Statistical outliers regarding the runtime of the trace will be treated special and therefore send out as they are and will not be mixed with others.

Since:
1.9
Author:
Jan Waller, Florian Biss

Nested Class Summary
 
Nested classes/interfaces inherited from interface kieker.analysis.plugin.IPlugin
IPlugin.PluginInputPortReference, IPlugin.STATE
 
Field Summary
static java.lang.String CONFIG_PROPERTY_NAME_MAX_COLLECTION_DURATION
          The name of the property determining the maximal trace timeout.
static java.lang.String CONFIG_PROPERTY_NAME_TIMEUNIT
          The name of the property determining the time unit.
static java.lang.String CONFIG_PROPERTY_VALUE_MAX_COLLECTION_DURATION
          The default value of the property determining the maximal trace timeout.
static java.lang.String CONFIG_PROPERTY_VALUE_TIMEUNIT
          The default value of the time unit property (nanoseconds).
static java.lang.String INPUT_PORT_NAME_TIME_EVENT
          Clock input for timeout handling.
static java.lang.String INPUT_PORT_NAME_TRACES
          The name of the input port receiving the trace records.
static java.lang.String OUTPUT_PORT_NAME_TRACES
          The name of the output port delivering the valid traces.
 
Fields inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
CONFIG_NAME, configuration, log, LOG, projectContext, recordsTimeUnitFromProjectContext
 
Constructor Summary
TraceAggregationFilter(Configuration configuration, IProjectContext projectContext)
          Creates a new instance of this class using the given parameters.
 
Method Summary
 Configuration getCurrentConfiguration()
          This method should deliver a Configuration object containing the current configuration of this instance.
 void newEvent(java.lang.Long timestamp)
          This method is the input port for the timeout.
 void newEvent(TraceEventRecords traceEventRecords)
          This method is the input port for incoming traces.
 void terminate(boolean error)
          Initiates a termination of the plugin.
 
Methods inherited from class kieker.analysis.plugin.filter.AbstractFilterPlugin
init
 
Methods inherited from class kieker.analysis.plugin.AbstractPlugin
areAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, start
 
Methods inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface kieker.analysis.plugin.IPlugin
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
 

Field Detail

OUTPUT_PORT_NAME_TRACES

public static final java.lang.String OUTPUT_PORT_NAME_TRACES
The name of the output port delivering the valid traces.

See Also:
Constant Field Values

INPUT_PORT_NAME_TRACES

public static final java.lang.String INPUT_PORT_NAME_TRACES
The name of the input port receiving the trace records.

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_TIMEUNIT

public static final java.lang.String CONFIG_PROPERTY_NAME_TIMEUNIT
The name of the property determining the time unit.

See Also:
Constant Field Values

INPUT_PORT_NAME_TIME_EVENT

public static final java.lang.String INPUT_PORT_NAME_TIME_EVENT
Clock input for timeout handling.

See Also:
Constant Field Values

CONFIG_PROPERTY_VALUE_TIMEUNIT

public static final java.lang.String CONFIG_PROPERTY_VALUE_TIMEUNIT
The default value of the time unit property (nanoseconds).

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_MAX_COLLECTION_DURATION

public static final java.lang.String CONFIG_PROPERTY_NAME_MAX_COLLECTION_DURATION
The name of the property determining the maximal trace timeout.

See Also:
Constant Field Values

CONFIG_PROPERTY_VALUE_MAX_COLLECTION_DURATION

public static final java.lang.String CONFIG_PROPERTY_VALUE_MAX_COLLECTION_DURATION
The default value of the property determining the maximal trace timeout.

See Also:
Constant Field Values
Constructor Detail

TraceAggregationFilter

public TraceAggregationFilter(Configuration configuration,
                              IProjectContext projectContext)
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 Detail

newEvent

public void newEvent(java.lang.Long timestamp)
This method is the input port for the timeout.

Parameters:
timestamp - The timestamp

newEvent

public void newEvent(TraceEventRecords traceEventRecords)
This method is the input port for incoming traces.

Parameters:
traceEventRecords - incoming TraceEventRecords

terminate

public void terminate(boolean error)
Initiates a termination of the plugin. This method is only used by the framework and should not be called manually. Use the method AnalysisController.terminate(boolean) instead. After receiving this notification, the plugin should terminate any running methods, e.g., read for readers.

Specified by:
terminate in interface IPlugin
Overrides:
terminate in class AbstractFilterPlugin
Parameters:
error - Determines whether the plugin is terminated due to an error or not.

getCurrentConfiguration

public Configuration getCurrentConfiguration()
This method should deliver a Configuration object containing the current configuration of this instance. In other words: The constructor should be able to use the given object to initialize a new instance of this class with the same intern properties.

Specified by:
getCurrentConfiguration in interface IAnalysisComponent
Specified by:
getCurrentConfiguration in interface IPlugin
Specified by:
getCurrentConfiguration in class AbstractAnalysisComponent
Returns:
A completely filled configuration object.

Kieker 1.12

Copyright 2015 Kieker Project, http://kieker-monitoring.net