diff --git a/collector/collector.go b/collector/collector.go index 57994fbd..54f0ff6d 100644 --- a/collector/collector.go +++ b/collector/collector.go @@ -120,19 +120,18 @@ func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, err initiatedCollectorsMtx.Lock() defer initiatedCollectorsMtx.Unlock() for key, enabled := range collectorState { - if *enabled { - if collector, ok := initiatedCollectors[key]; ok { - collectors[key] = collector - } else { - collector, err := factories[key](log.With(logger, "collector", key)) - if err != nil { - return nil, err - } - if len(f) == 0 || f[key] { - collectors[key] = collector - initiatedCollectors[key] = collector - } + if !*enabled || (len(f) > 0 && !f[key]) { + continue + } + if collector, ok := initiatedCollectors[key]; ok { + collectors[key] = collector + } else { + collector, err := factories[key](log.With(logger, "collector", key)) + if err != nil { + return nil, err } + collectors[key] = collector + initiatedCollectors[key] = collector } } return &NodeCollector{Collectors: collectors, logger: logger}, nil