From fc7d1ff2d70dff636097baf38fa3b1931d77612f Mon Sep 17 00:00:00 2001 From: skartikey <1942366+skartikey@users.noreply.github.com> Date: Mon, 21 Apr 2025 21:28:18 +0100 Subject: [PATCH] fix(inputs.cloudwatch): Handle metric includes/excludes correctly to prevent panic (#16812) --- plugins/inputs/cloudwatch/cloudwatch.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/inputs/cloudwatch/cloudwatch.go b/plugins/inputs/cloudwatch/cloudwatch.go index dc3a0302b..c71dce4c5 100644 --- a/plugins/inputs/cloudwatch/cloudwatch.go +++ b/plugins/inputs/cloudwatch/cloudwatch.go @@ -300,7 +300,14 @@ func (c *CloudWatch) getFilteredMetrics() ([]filteredMetric, error) { if cm.StatisticInclude == nil && cm.StatisticExclude == nil { entry.statFilter = c.statFilter } else { - f, err := filter.NewIncludeExcludeFilter(*cm.StatisticInclude, *cm.StatisticExclude) + var includeStats, excludeStats []string + if cm.StatisticInclude != nil { + includeStats = *cm.StatisticInclude + } + if cm.StatisticExclude != nil { + excludeStats = *cm.StatisticExclude + } + f, err := filter.NewIncludeExcludeFilter(includeStats, excludeStats) if err != nil { return nil, fmt.Errorf("creating statistics filter for metric %d failed: %w", idx+1, err) }