From 4834cf3b2036f440b8758bac3607d5373f6ed72b Mon Sep 17 00:00:00 2001 From: Przemyslaw Kadej Date: Tue, 9 May 2023 22:32:27 +0200 Subject: [PATCH] PMM-11632 rds_exporter ignores DisableEnhancedMetrics (#91) --- enhanced/collector.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/enhanced/collector.go b/enhanced/collector.go index b69931b3..e61ba209 100644 --- a/enhanced/collector.go +++ b/enhanced/collector.go @@ -37,10 +37,11 @@ func NewCollector(sessions *sessions.Sessions, logger log.Logger) *Collector { } for session, instances := range sessions.AllSessions() { - s := newScraper(session, instances, logger) + enabledInstances := getEnabledInstances(instances) + s := newScraper(session, enabledInstances, logger) interval := maxInterval - for _, instance := range instances { + for _, instance := range enabledInstances { if instance.EnhancedMonitoringInterval > 0 && instance.EnhancedMonitoringInterval < interval { interval = instance.EnhancedMonitoringInterval } @@ -66,6 +67,18 @@ func NewCollector(sessions *sessions.Sessions, logger log.Logger) *Collector { return c } +func getEnabledInstances(instances []sessions.Instance) []sessions.Instance { + enabledInstances := make([]sessions.Instance, 0, len(instances)) + for _, instance := range instances { + if instance.DisableEnhancedMetrics { + continue + } + enabledInstances = append(enabledInstances, instance) + } + + return enabledInstances +} + // setMetrics saves latest scraped metrics. func (c *Collector) setMetrics(m map[string][]prometheus.Metric) { c.rw.Lock()