Commit 74632b5e by utkarshcmu

Added last function for alerting conditions

parent 5bbdd99d
...@@ -62,6 +62,13 @@ func (s *SimpleReducer) Reduce(series *tsdb.TimeSeries) null.Float { ...@@ -62,6 +62,13 @@ func (s *SimpleReducer) Reduce(series *tsdb.TimeSeries) null.Float {
case "count": case "count":
value = float64(len(series.Points)) value = float64(len(series.Points))
allNull = false allNull = false
case "last":
for _, point := range series.Points {
if point[0].Valid {
value = point[0].Float64
allNull = false
}
}
} }
if allNull { if allNull {
......
...@@ -35,6 +35,12 @@ func TestSimpleReducer(t *testing.T) { ...@@ -35,6 +35,12 @@ func TestSimpleReducer(t *testing.T) {
result := testReducer("count", 1, 2, 3000) result := testReducer("count", 1, 2, 3000)
So(result, ShouldEqual, float64(3)) So(result, ShouldEqual, float64(3))
}) })
Convey("last", func() {
result := testReducer("last", 1, 2, 3000)
So(result, ShouldEqual, float64(3000))
})
}) })
} }
......
...@@ -34,6 +34,7 @@ var reducerTypes = [ ...@@ -34,6 +34,7 @@ var reducerTypes = [
{text: 'max()', value: 'max'}, {text: 'max()', value: 'max'},
{text: 'sum()' , value: 'sum'}, {text: 'sum()' , value: 'sum'},
{text: 'count()', value: 'count'}, {text: 'count()', value: 'count'},
{text: 'last()', value: 'last'},
]; ];
var noDataModes = [ var noDataModes = [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment