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.
|
isPropertyUpdateableinit, terminateareAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, startgetNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconnect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getName, getPluginDescription, getPluginName, getStatepublic 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()
AbstractAnalysisComponentConfiguration 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 IAnalysisComponentgetCurrentConfiguration in interface IPlugingetCurrentConfiguration in class AbstractAnalysisComponentpublic 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 AbstractUpdateableFilterPluginconfig - 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