Kieker 1.12

kieker.tools.opad.filter
Class AnomalyDetectionFilter

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.AbstractUpdateableFilterPlugin
                  extended by kieker.tools.opad.filter.AnomalyDetectionFilter
All Implemented Interfaces:
IAnalysisComponent, IFilterPlugin, IPlugin

public class AnomalyDetectionFilter
extends AbstractUpdateableFilterPlugin

This filter separates input values by their reach of a certain threshold (parameter). It takes events of type StorableDetectionResult and channels them into two output ports, depending on whether the threshold was reached or not. This filter has configuration properties for the (critical) threshold. Although the configuration of the critical threshold is possible, the value is currently not used by the filter.

Since:
1.10
Author:
Tillmann Carlos Bielefeld, Thomas Duellmann, Tobias Rudolph

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_THRESHOLD
          Name of the property determining the threshold.
static java.lang.String INPUT_PORT_ANOMALY_SCORE
           
static java.lang.String OUTPUT_PORT_ALL
          Name of the output port that delivers all data independent of their anomaly .
static java.lang.String OUTPUT_PORT_ANOMALY_SCORE_ELSE
          Name of the output port delivering the anomalyscore if it remains below the threshhold.
static java.lang.String OUTPUT_PORT_ANOMALY_SCORE_IF_ANOMALY
          Name of the output port delivering the anomalyscore if it exceeds the threshhold.
 
Fields inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
CONFIG_NAME, configuration, log, LOG, projectContext, recordsTimeUnitFromProjectContext
 
Constructor Summary
AnomalyDetectionFilter(Configuration configuration, IProjectContext projectContext)
          Creates a new instance of this class.
 
Method Summary
 Configuration getCurrentConfiguration()
          This method should deliver a Configuration object containing the current configuration of this instance.
 void inputForecastAndMeasurement(StorableDetectionResult anomalyScore)
           
 void setCurrentConfiguration(Configuration config, boolean update)
          Set current configuration.
 
Methods inherited from class kieker.analysis.plugin.AbstractUpdateableFilterPlugin
isPropertyUpdateable
 
Methods inherited from class kieker.analysis.plugin.filter.AbstractFilterPlugin
init, terminate
 
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

INPUT_PORT_ANOMALY_SCORE

public static final java.lang.String INPUT_PORT_ANOMALY_SCORE
See Also:
Constant Field Values

OUTPUT_PORT_ANOMALY_SCORE_IF_ANOMALY

public static final java.lang.String OUTPUT_PORT_ANOMALY_SCORE_IF_ANOMALY
Name of the output port delivering the anomalyscore if it exceeds the threshhold.

See Also:
Constant Field Values

OUTPUT_PORT_ANOMALY_SCORE_ELSE

public static final java.lang.String OUTPUT_PORT_ANOMALY_SCORE_ELSE
Name of the output port delivering the anomalyscore if it remains below the threshhold.

See Also:
Constant Field Values

OUTPUT_PORT_ALL

public static final java.lang.String OUTPUT_PORT_ALL
Name of the output port that delivers all data independent of their anomaly .

See Also:
Constant Field Values

CONFIG_PROPERTY_NAME_THRESHOLD

public static final java.lang.String CONFIG_PROPERTY_NAME_THRESHOLD
Name of the property determining the threshold.

See Also:
Constant Field Values
Constructor Detail

AnomalyDetectionFilter

public AnomalyDetectionFilter(Configuration configuration,
                              IProjectContext projectContext)
Creates a new instance of this class.

Parameters:
configuration - Configuration of this component
projectContext - ProjectContext of this component
Method Detail

getCurrentConfiguration

public Configuration getCurrentConfiguration()
Description copied from class: AbstractAnalysisComponent
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.

inputForecastAndMeasurement

public void inputForecastAndMeasurement(StorableDetectionResult anomalyScore)

setCurrentConfiguration

public void setCurrentConfiguration(Configuration config,
                                    boolean update)
Description copied from class: AbstractUpdateableFilterPlugin
Set current configuration. Example implementation:
 // The following condition is true, if key exists in config object AND (update and isUpdateable is true OR update is false)
 if(!update || isPropertyUpdateable(CONFIG_PROPERTY_PROP_NAME)) {
    this.localProperty = config.getLongProperty(CONFIG_PROPERTY_PROP_NAME);
 }
 

Specified by:
setCurrentConfiguration in class AbstractUpdateableFilterPlugin
Parameters:
config - Configuration object that contains the configuration to be set.
update - If false, set all properties, else overwrite only properties that are marked as updateable

Kieker 1.12

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