From 77f9c240508e2f5693d4c3b395a7e9e8851ce50a Mon Sep 17 00:00:00 2001 From: bergquist Date: Mon, 22 Aug 2016 13:25:31 +0200 Subject: [PATCH] feat(alerting): add support for count reducer --- pkg/services/alerting/conditions/reducer.go | 2 ++ pkg/services/alerting/conditions/reducer_test.go | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/pkg/services/alerting/conditions/reducer.go b/pkg/services/alerting/conditions/reducer.go index 92ba268b13a..f97ff6a56d7 100644 --- a/pkg/services/alerting/conditions/reducer.go +++ b/pkg/services/alerting/conditions/reducer.go @@ -42,6 +42,8 @@ func (s *SimpleReducer) Reduce(series *tsdb.TimeSeries) float64 { case "mean": meanPosition := int64(len(series.Points) / 2) value = series.Points[meanPosition][0] + case "count": + value = float64(len(series.Points)) } return value diff --git a/pkg/services/alerting/conditions/reducer_test.go b/pkg/services/alerting/conditions/reducer_test.go index ed3c89fbbdd..af242bbd668 100644 --- a/pkg/services/alerting/conditions/reducer_test.go +++ b/pkg/services/alerting/conditions/reducer_test.go @@ -34,6 +34,10 @@ func TestSimpleReducer(t *testing.T) { So(result, ShouldEqual, float64(2)) }) + Convey("count", func() { + result := testReducer("count", 1, 2, 3000) + So(result, ShouldEqual, float64(3)) + }) }) }