fix(inputs.cloudwatch): Handle metric includes/excludes correctly to prevent panic (#16812)

This commit is contained in:
skartikey 2025-04-21 21:28:18 +01:00 committed by GitHub
parent 081dfa26e8
commit fc7d1ff2d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 1 deletions

View File

@ -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)
}