"nodes": [
{
"name": "enumerator",
"type": "Enumerator",
"params": {
"items": [
{
"name":"US Only",
"params": {
"queryFilters": " AND country = 'US'",
"max": 300000,
"min": 100000
}
},
{
"name": "Overall",
"params": {
"queryFilters": "",
"max": 900000,
"min": 300000
}
}
]
}
},
{
"name": "combiner",
"type": "Combiner"
},
{
"name": "root",
"type": "ForkJoin",
"params": {
"dryRun": false,
"enumerator": "enumerator",
"root": "anomalyDetector",
"combiner": "combiner"
}
},
{
"name": "anomalyDetector",
"type": "AnomalyDetector",
"params": {
"component.min": "${min}",
"component.metric": "met",
"component.monitoringGranularity": "${monitoringGranularity}",
"component.max": "${max}",
"anomaly.dataset": "${dataset}",
"component.timestamp": "ts",
"anomaly.metric": "${aggregationColumn}",
"anomaly.source": "threshold-template/root",
"type": "THRESHOLD"
},
"inputs": [
{
"targetProperty": "current",
"sourcePlanNode": "currentDataFetcher",
"sourceProperty": "currentData"
}
],
"outputs": []
},
{
"name": "currentDataFetcher",
"type": "DataFetcher",
"params": {
"component.dataSource": "${dataSource}",
"component.query": "SELECT __timeGroup(\"${timeColumn}\", '${timeColumnFormat}', '${monitoringGranularity}') as ts, ${aggregationFunction}(\"${aggregationColumn}\") as met FROM ${dataset} WHERE __timeFilter(\"${timeColumn}\", '${timeColumnFormat}') ${queryFilters} GROUP BY ts ORDER BY ts LIMIT ${queryLimit}"
},
"inputs": [],
"outputs": [
{
"outputKey": "currentData",
"outputName": "currentData"
}
]
}
]