Octave.Event.aggregate(streamId, options)
Usage of aggregate is explained at length here. todo - links to analyzing events..
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
streamId | String | Yes | The unique ID of the Stream. |
options | Object | Yes | An optional object literal of query options. |
options.filter | String | No | A filter string. |
options.groupBy | Array of strings | No | |
options.output | Array of strings | No | |
options.rules | Array of strings | No | |
options.sorts | Array of strings | No | String representation of the member key to sort the results over (default value is the creation date). |
Returns
Todo - need to document what is returned.
//fixed value comparison example
var myAggregationResults = Octave.Event.aggregate(myStreamId, {
"filter": "EXISTS cpu_temp",
"rules": {"x":"cpu_temp > 50"},
"groupBy": ["$month"],
"output": [
"$avg:cpu_temp",
"$min:cpu_temp",
"$max:cpu_temp",
"$avg:x",
"$count"
],
"sorts":["$avg:x:desc", "$avg:cpu_temp:asc"]
});
//element values comparison example
var myAggregationResults = Octave.Event.aggregate(myStreamId, {
"filter": "elems.aNumber > elems.bNumber",
"rules": {"x":"elems.aNumber > 0.1"},
"groupBy": ["$month"],
"output": [
"$avg:elems.aNumber",
"$min:elems.aNumber",
"$max:elems.aNumber",
"$avg:x",
"$count"
],
"sorts":["$avg:x:desc", "$avg:elems.aNumber:asc"]
});