Disable prometheus fot in-memory store if period set to 0

This commit is contained in:
Širhoe Biazhkovič
2021-10-20 17:16:11 +03:00
parent 25879a0f3a
commit 823b92fe83
3 changed files with 27 additions and 20 deletions
+20 -16
View File
@@ -147,23 +147,27 @@ func New(provided Config) (storage.PeerStore, error) {
}
}()
// Start a goroutine for reporting statistics to Prometheus.
ps.wg.Add(1)
go func() {
defer ps.wg.Done()
t := time.NewTicker(cfg.PrometheusReportingInterval)
for {
select {
case <-ps.closed:
t.Stop()
return
case <-t.C:
before := time.Now()
ps.populateProm()
log.Debug("storage: populateProm() finished", log.Fields{"timeTaken": time.Since(before)})
if cfg.PrometheusReportingInterval > 0 {
// Start a goroutine for reporting statistics to Prometheus.
ps.wg.Add(1)
go func() {
defer ps.wg.Done()
t := time.NewTicker(cfg.PrometheusReportingInterval)
for {
select {
case <-ps.closed:
t.Stop()
return
case <-t.C:
before := time.Now()
ps.populateProm()
log.Debug("storage: populateProm() finished", log.Fields{"timeTaken": time.Since(before)})
}
}
}
}()
}()
} else {
log.Info("prometheus disabled because of zero reporting interval")
}
return ps, nil
}