Merge pull request #6499 from utkarshcmu/last

Added last function for alerting conditions
This commit is contained in:
Carl Bergquist 2016-11-08 09:10:35 +01:00 committed by GitHub
commit a7be3b91fd
3 changed files with 16 additions and 0 deletions

View File

@ -62,6 +62,15 @@ func (s *SimpleReducer) Reduce(series *tsdb.TimeSeries) null.Float {
case "count":
value = float64(len(series.Points))
allNull = false
case "last":
points := series.Points
for i := len(points) - 1; i >= 0; i-- {
if points[i][0].Valid {
value = points[i][0].Float64
allNull = false
break
}
}
}
if allNull {

View File

@ -35,6 +35,12 @@ func TestSimpleReducer(t *testing.T) {
result := testReducer("count", 1, 2, 3000)
So(result, ShouldEqual, float64(3))
})
Convey("last", func() {
result := testReducer("last", 1, 2, 3000)
So(result, ShouldEqual, float64(3000))
})
})
}

View File

@ -34,6 +34,7 @@ var reducerTypes = [
{text: 'max()', value: 'max'},
{text: 'sum()' , value: 'sum'},
{text: 'count()', value: 'count'},
{text: 'last()', value: 'last'},
];
var noDataModes = [