public class AnomalyDetectionFilter extends AbstractUpdateableFilterPlugin
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.IPlugin.PluginInputPortReference, IPlugin.STATE
Modifier and Type | Field and Description |
---|---|
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.
|
CONFIG_NAME, configuration, log, LOG, projectContext, recordsTimeUnitFromProjectContext
Constructor and Description |
---|
AnomalyDetectionFilter(Configuration configuration,
IProjectContext projectContext)
Creates a new instance of this class.
|
Modifier and Type | Method and Description |
---|---|
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.
|
isPropertyUpdateable
init, terminate
areAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, start
getName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
public static final java.lang.String INPUT_PORT_ANOMALY_SCORE
public static final java.lang.String OUTPUT_PORT_ANOMALY_SCORE_IF_ANOMALY
public static final java.lang.String OUTPUT_PORT_ANOMALY_SCORE_ELSE
public static final java.lang.String OUTPUT_PORT_ALL
public static final java.lang.String CONFIG_PROPERTY_NAME_THRESHOLD
public AnomalyDetectionFilter(Configuration configuration, IProjectContext projectContext)
configuration
- Configuration of this componentprojectContext
- ProjectContext of this componentpublic Configuration getCurrentConfiguration()
AbstractAnalysisComponent
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.getCurrentConfiguration
in interface IAnalysisComponent
getCurrentConfiguration
in interface IPlugin
getCurrentConfiguration
in class AbstractAnalysisComponent
public void inputForecastAndMeasurement(StorableDetectionResult anomalyScore)
public void setCurrentConfiguration(Configuration config, boolean update)
AbstractUpdateableFilterPlugin
// 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); }
setCurrentConfiguration
in class AbstractUpdateableFilterPlugin
config
- Configuration object that contains the configuration to be set.update
- If false, set all properties, else overwrite only properties that are marked as updateableCopyright 2017 Kieker Project, http://kieker-monitoring.net