plugin/health: implement dyn health checks (#1214)

Implement health.Healther in erratic and kubernetes plugin. The
kubernetes' healtcheck is only performed on startup - i.e. turn
healthy after the initial loading.

Erratic follow the drop count: every query%drop turns the healthcheck
unhealthy.

Fixes: #985
This commit is contained in:
Miek Gieben
2017-11-13 09:52:40 +00:00
committed by GitHub
parent 46a187df8f
commit 52b49f4838
7 changed files with 49 additions and 8 deletions

14
plugin/erratic/health.go Normal file
View File

@@ -0,0 +1,14 @@
package erratic
import (
"sync/atomic"
)
// Health implements the health.Healther interface.
func (e *Erratic) Health() bool {
q := atomic.LoadUint64(&e.q)
if e.drop > 0 && q%e.drop == 0 {
return false
}
return true
}