Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
6c9cf870
Commit
6c9cf870
authored
Dec 02, 2016
by
bergquist
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(alerting): calculate avg of valid points
parent
c9b7f860
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
2 deletions
+19
-2
pkg/services/alerting/conditions/reducer.go
+5
-2
pkg/services/alerting/conditions/reducer_test.go
+14
-0
No files found.
pkg/services/alerting/conditions/reducer.go
View file @
6c9cf870
...
...
@@ -27,13 +27,17 @@ func (s *SimpleReducer) Reduce(series *tsdb.TimeSeries) null.Float {
switch
s
.
Type
{
case
"avg"
:
validPointsCount
:=
0
for
_
,
point
:=
range
series
.
Points
{
if
point
[
0
]
.
Valid
{
value
+=
point
[
0
]
.
Float64
validPointsCount
+=
1
allNull
=
false
}
}
value
=
value
/
float64
(
len
(
series
.
Points
))
if
validPointsCount
>
0
{
value
=
value
/
float64
(
validPointsCount
)
}
case
"sum"
:
for
_
,
point
:=
range
series
.
Points
{
if
point
[
0
]
.
Valid
{
...
...
@@ -90,7 +94,6 @@ func (s *SimpleReducer) Reduce(series *tsdb.TimeSeries) null.Float {
value
=
(
values
[(
length
/
2
)
-
1
]
+
values
[
length
/
2
])
/
2
}
}
}
if
allNull
{
...
...
pkg/services/alerting/conditions/reducer_test.go
View file @
6c9cf870
...
...
@@ -16,6 +16,20 @@ func TestSimpleReducer(t *testing.T) {
So
(
result
,
ShouldEqual
,
float64
(
2
))
})
Convey
(
"avg of none null data"
,
func
()
{
reducer
:=
NewSimpleReducer
(
"avg"
)
series
:=
&
tsdb
.
TimeSeries
{
Name
:
"test time serie"
,
}
series
.
Points
=
append
(
series
.
Points
,
tsdb
.
NewTimePoint
(
null
.
FloatFrom
(
3
),
1
))
series
.
Points
=
append
(
series
.
Points
,
tsdb
.
NewTimePoint
(
null
.
FloatFromPtr
(
nil
),
2
))
series
.
Points
=
append
(
series
.
Points
,
tsdb
.
NewTimePoint
(
null
.
FloatFromPtr
(
nil
),
3
))
series
.
Points
=
append
(
series
.
Points
,
tsdb
.
NewTimePoint
(
null
.
FloatFrom
(
3
),
4
))
So
(
reducer
.
Reduce
(
series
)
.
Float64
,
ShouldEqual
,
float64
(
3
))
})
Convey
(
"sum"
,
func
()
{
result
:=
testReducer
(
"sum"
,
1
,
2
,
3
)
So
(
result
,
ShouldEqual
,
float64
(
6
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment