Skip to main content

THRESHOLD

Adds a THRESHOLD label to an anomaly if the metric is above a maximum threshold or below a minimum threshold. By default, the threshold is applied to the metric that was used for the detection. A different metric can be provided by passing an input current. The threshold rule will run on this metric.

Inputs

  • The output of the detector. Labels are applied to the anomalies of this input.
{
"sourcePlanNode": "anomalyDetector"
}
  • Optional: a different side data input to perform threshold on
{
"targetProperty": "current",
"sourcePlanNode": "controlDataFetcher",
"sourceProperty": "controlDataOutput"
}

Parameters

namedescriptiondefault value
component.minIf metric <= min, label the anomaly.-1 (special value - no minimum)
component.maxIf metric >= max, label the anomaly.-1 (special value - no maximum)
component.valueNameOptional. The name of the metric. Used in the label: "{ValueName} bigger than {max}"Value
component.timestampOptional. If a side data input is used, name of the time index column.timestamp
component.metricOptional. If a side data input is used, name of the column to use for thresholding.value

Example

  • Without side input
{
"name": "root",
"type": "PostProcessor",
"params": {
"type": "THRESHOLD",
"component.ignore": "true", # filter anomaly in notifications an ui by default
"component.min": "100",
"component.max": "10000000"
},
"inputs": [
{
"sourcePlanNode": "anomalyDetector"
}
]
}
  • With side input
{
"name": "root",
"type": "PostProcessor",
"params": {
"type": "THRESHOLD",
"component.ignore": "true",
"component.min": "100",
"component.max": "10000000",
"component.valueName": "controlMetric", # customize label
"component.timestamp": "ts", # time column of the side input
"component.metric": "sideMetric" # column to threshold on in the side input
},
"inputs": [
{
"sourcePlanNode": "anomalyDetector"
},
{
"targetProperty": "current",
"sourcePlanNode": "controlDataFetcher",
"sourceProperty": "controlDataOutput"
}
]
}