mirror of
https://github.com/prometheus/node_exporter.git
synced 2025-03-05 21:00:12 -08:00
Remove caching of collectors.
This commit is contained in:
parent
d4879a5e87
commit
69c6eb312f
|
@ -51,8 +51,6 @@ const (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
factories = make(map[string]func(config *NodeCollectorConfig, logger log.Logger) (Collector, error))
|
factories = make(map[string]func(config *NodeCollectorConfig, logger log.Logger) (Collector, error))
|
||||||
initiatedCollectorsMtx = sync.Mutex{}
|
|
||||||
initiatedCollectors = make(map[string]Collector)
|
|
||||||
collectorStateGlobal = make(map[string]bool)
|
collectorStateGlobal = make(map[string]bool)
|
||||||
collectorFlagState = make(map[string]*bool)
|
collectorFlagState = make(map[string]*bool)
|
||||||
availableCollectors = make([]string, 0)
|
availableCollectors = make([]string, 0)
|
||||||
|
@ -141,22 +139,16 @@ func NewNodeCollector(config *NodeCollectorConfig, enabledCollectors map[string]
|
||||||
f[filter] = true
|
f[filter] = true
|
||||||
}
|
}
|
||||||
collectors := make(map[string]Collector)
|
collectors := make(map[string]Collector)
|
||||||
initiatedCollectorsMtx.Lock()
|
|
||||||
defer initiatedCollectorsMtx.Unlock()
|
|
||||||
for key, enabled := range enabledCollectors {
|
for key, enabled := range enabledCollectors {
|
||||||
if !enabled || (len(f) > 0 && !f[key]) {
|
if !enabled || (len(f) > 0 && !f[key]) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if collector, ok := initiatedCollectors[key]; ok {
|
|
||||||
collectors[key] = collector
|
|
||||||
} else {
|
|
||||||
collector, err := factories[key](config, log.With(logger, "collector", key))
|
collector, err := factories[key](config, log.With(logger, "collector", key))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
collectors[key] = collector
|
collectors[key] = collector
|
||||||
initiatedCollectors[key] = collector
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return &NodeCollector{Collectors: collectors, logger: logger}, nil
|
return &NodeCollector{Collectors: collectors, logger: logger}, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue