mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Set failedConfigs only once right after registerProviders finished
Signed-off-by: Nevill <nevill.dutt@gmail.com>
This commit is contained in:
parent
048f81218d
commit
55661ab004
|
@ -195,12 +195,13 @@ func (m *Manager) ApplyConfig(cfg map[string]sd_config.ServiceDiscoveryConfig) e
|
||||||
m.providers = nil
|
m.providers = nil
|
||||||
m.discoverCancel = nil
|
m.discoverCancel = nil
|
||||||
|
|
||||||
failedConfigs.WithLabelValues(m.name).Set(0)
|
failedCount := 0
|
||||||
|
|
||||||
for name, scfg := range cfg {
|
for name, scfg := range cfg {
|
||||||
m.registerProviders(scfg, name)
|
failedCount += m.registerProviders(scfg, name)
|
||||||
discoveredTargets.WithLabelValues(m.name, name).Set(0)
|
discoveredTargets.WithLabelValues(m.name, name).Set(0)
|
||||||
}
|
}
|
||||||
|
failedConfigs.WithLabelValues(m.name).Set(float64(failedCount))
|
||||||
|
|
||||||
for _, prov := range m.providers {
|
for _, prov := range m.providers {
|
||||||
m.startProvider(m.ctx, prov)
|
m.startProvider(m.ctx, prov)
|
||||||
}
|
}
|
||||||
|
@ -320,8 +321,12 @@ func (m *Manager) allGroups() map[string][]*targetgroup.Group {
|
||||||
return tSets
|
return tSets
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Manager) registerProviders(cfg sd_config.ServiceDiscoveryConfig, setName string) {
|
// registerProviders returns a number of failed SD config.
|
||||||
var added bool
|
func (m *Manager) registerProviders(cfg sd_config.ServiceDiscoveryConfig, setName string) int {
|
||||||
|
var (
|
||||||
|
failedCount int
|
||||||
|
added bool
|
||||||
|
)
|
||||||
add := func(cfg interface{}, newDiscoverer func() (Discoverer, error)) {
|
add := func(cfg interface{}, newDiscoverer func() (Discoverer, error)) {
|
||||||
t := reflect.TypeOf(cfg).String()
|
t := reflect.TypeOf(cfg).String()
|
||||||
for _, p := range m.providers {
|
for _, p := range m.providers {
|
||||||
|
@ -335,7 +340,7 @@ func (m *Manager) registerProviders(cfg sd_config.ServiceDiscoveryConfig, setNam
|
||||||
d, err := newDiscoverer()
|
d, err := newDiscoverer()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
level.Error(m.logger).Log("msg", "Cannot create service discovery", "err", err, "type", t)
|
level.Error(m.logger).Log("msg", "Cannot create service discovery", "err", err, "type", t)
|
||||||
failedConfigs.WithLabelValues(m.name).Inc()
|
failedCount++
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -424,6 +429,7 @@ func (m *Manager) registerProviders(cfg sd_config.ServiceDiscoveryConfig, setNam
|
||||||
return &StaticProvider{TargetGroups: []*targetgroup.Group{{}}}, nil
|
return &StaticProvider{TargetGroups: []*targetgroup.Group{{}}}, nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
return failedCount
|
||||||
}
|
}
|
||||||
|
|
||||||
// StaticProvider holds a list of target groups that never change.
|
// StaticProvider holds a list of target groups that never change.
|
||||||
|
|
Loading…
Reference in a new issue