Merge pull request #10 from brian-brazil/initial-collect

Do an initial run of the collectors
This commit is contained in:
juliusv 2014-05-23 14:20:28 +02:00
commit a5f541a559

View File

@ -50,6 +50,9 @@ func main() {
go serveStatus(registry)
log.Printf("Starting initial collection")
collect(collectors)
tick := time.Tick(*interval)
for {
select {
@ -63,15 +66,7 @@ func main() {
case <-tick:
log.Printf("Starting new interval")
wg := sync.WaitGroup{}
wg.Add(len(collectors))
for _, c := range collectors {
go func(c collector.Collector) {
Execute(c)
wg.Done()
}(c)
}
wg.Wait()
collect(collectors)
case <-sigUsr1:
log.Printf("got signal")
@ -120,6 +115,18 @@ func serveStatus(registry prometheus.Registry) {
http.ListenAndServe(*listeningAddress, exp.DefaultCoarseMux)
}
func collect(collectors []collector.Collector) {
wg := sync.WaitGroup{}
wg.Add(len(collectors))
for _, c := range collectors {
go func(c collector.Collector) {
Execute(c)
wg.Done()
}(c)
}
wg.Wait()
}
func Execute(c collector.Collector) {
begin := time.Now()
updates, err := c.Update()