Fix rule evaluation closure.

This commit is contained in:
Julius Volz 2013-04-17 14:42:15 +02:00
parent 5d65b9392a
commit 1eb586db7d

View file

@ -17,6 +17,7 @@ import (
"github.com/prometheus/prometheus/config"
"github.com/prometheus/prometheus/rules/ast"
"log"
"sync"
"time"
)
@ -66,15 +67,19 @@ func (m *ruleManager) Stop() {
func (m *ruleManager) runIteration(results chan *Result) {
now := time.Now()
wg := sync.WaitGroup{}
for _, rule := range m.rules {
go func() {
wg.Add(1)
go func(rule *Rule) {
vector, err := rule.Eval(&now)
m.results <- &Result{
Samples: vector,
Err: err,
}
}()
wg.Done()
}(rule)
}
wg.Wait()
}
func (m *ruleManager) AddRulesFromConfig(config *config.Config) error {