diff --git a/internal/alertmanager/models.go b/internal/alertmanager/models.go index 7ec60b6f6..d3f26741b 100644 --- a/internal/alertmanager/models.go +++ b/internal/alertmanager/models.go @@ -473,8 +473,8 @@ func (am *Alertmanager) ExpiredSilences(labels map[string]string) (silences []*m now := time.Now() maxExpired := now.Add(-config.Config.Silences.Expired) for _, silence := range am.silences { - silence := silence if silence.EndsAt.Before(now) && !silence.EndsAt.Before(maxExpired) && silence.IsMatch(labels) { + silence := silence silences = append(silences, &silence) } } diff --git a/internal/mapper/v017/api.go b/internal/mapper/v017/api.go index 13920a667..15b4c775d 100644 --- a/internal/mapper/v017/api.go +++ b/internal/mapper/v017/api.go @@ -50,7 +50,7 @@ func groups(c *client.AlertmanagerAPI, timeout time.Duration, si *intern.Interne ret := make([]models.AlertGroup, 0, len(groups.Payload)) for _, group := range groups.Payload { - ls := models.Labels{} + ls := make(models.Labels, 0, len(group.Labels)) for k, v := range group.Labels { ls = ls.Set(si.String(k), si.String(v)) } @@ -61,7 +61,7 @@ func groups(c *client.AlertmanagerAPI, timeout time.Duration, si *intern.Interne Alerts: make(models.AlertList, 0, len(group.Alerts)), } for _, alert := range group.Alerts { - ls := models.Labels{} + ls := make(models.Labels, 0, len(alert.Labels)) for k, v := range alert.Labels { ls = ls.Set(si.String(k), si.String(v)) }