Summarizer
Computes one or more aggreagtion summaries over a time series for the full query width. E.g. the serializer can print the individual values for a time series but by adding a summarizer, it can also emmit the max, min and average.
Note
This is a much more efficient means of computing statistics about a time series than trying to setup a number of separate graphs to compute the same value as it will compute all stats from the same input series.
This is most useful as the last node in a graph when a UI is plotting the time series and then the summary values in a legend.
Fields include:
Name |
Data Type |
Required |
Description |
Default |
Example |
---|---|---|---|---|---|
summaries |
List |
Required |
A list of one or more aggregation functions to compute on the time series. |
null |
[“max”, “min”, “avg”] |
infectiousNan |
Boolean |
Optional |
Whether or not NaNs from the source data should infect the final aggregation. E.g. if one value out of 20 are |
false |
true |
Example:
{
"start": "1h-ago",
"executionGraph": [{
"id": "m1",
"type": "TimeSeriesDataSource",
"metric": {
"type": "MetricLiteral",
"metric": "sys.if.in"
}
},
{
"id": "ds1",
"type": "downsample",
"aggregator": "sum",
"interval": "1m",
"runAll": false,
"fill": true,
"interpolatorConfigs": [{
"dataType": "numeric",
"fillPolicy": "NAN",
"realFillPolicy": "NONE"
}],
"sources": ["m1"]
},
{
"id": "rate1",
"type": "rate",
"interval": "1s",
"deltaOnly": true,
"sources": ["ds1"]
},
{
"id": "summarizer",
"type": "summarizer",
"summaries": ["avg", "max", "min"]
"sources": ["rate1"]
}
]
}