From 5d4231b0016f52aa56c6cde6d661e1ef1e301447 Mon Sep 17 00:00:00 2001 From: Ben Ridley Date: Tue, 24 Nov 2020 15:02:07 +1100 Subject: [PATCH] Use consistent naming for mute time intervals Signed-off-by: Ben Ridley --- config/config.go | 8 ++++---- config/config_test.go | 8 ++++---- dispatch/dispatch.go | 2 +- dispatch/route.go | 18 +++++++++--------- notify/notify.go | 18 +++++++++--------- notify/notify_test.go | 2 +- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/config/config.go b/config/config.go index 052d5db9..15de3158 100644 --- a/config/config.go +++ b/config/config.go @@ -431,7 +431,7 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error { if len(c.Route.Match) > 0 || len(c.Route.MatchRE) > 0 { return fmt.Errorf("root route must not have any matchers") } - if len(c.Route.MuteTimes) > 0 { + if len(c.Route.MuteTimeIntervals) > 0 { return fmt.Errorf("root route cannot have any mute times") } @@ -473,10 +473,10 @@ func checkTimeInterval(r *Route, timeIntervals map[string]struct{}) error { return err } } - if len(r.MuteTimes) == 0 { + if len(r.MuteTimeIntervals) == 0 { return nil } - for _, mt := range r.MuteTimes { + for _, mt := range r.MuteTimeIntervals { if _, ok := timeIntervals[mt]; !ok { return fmt.Errorf("undefined time interval %q used in route", mt) } @@ -632,7 +632,7 @@ type Route struct { Match map[string]string `yaml:"match,omitempty" json:"match,omitempty"` MatchRE MatchRegexps `yaml:"match_re,omitempty" json:"match_re,omitempty"` - MuteTimes []string `yaml:"mute_times,omitempty" json:"mute_times,omitempty"` + MuteTimeIntervals []string `yaml:"mute_time_intervals,omitempty" json:"mute_time_intervals,omitempty"` Continue bool `yaml:"continue" json:"continue,omitempty"` Routes []*Route `yaml:"routes,omitempty" json:"routes,omitempty"` diff --git a/config/config_test.go b/config/config_test.go index 314993b6..0fe587cd 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -158,7 +158,7 @@ route: routes: - match: severity: critical - mute_times: + mute_time_intervals: - business_hours receivers: @@ -194,7 +194,7 @@ route: routes: - match: severity: critical - mute_times: + mute_time_intervals: - business_hours ` _, err := Load(in) @@ -232,7 +232,7 @@ route: routes: - match: severity: critical - mute_times: + mute_time_intervals: - business_hours ` _, err := Load(in) @@ -342,7 +342,7 @@ receivers: route: receiver: 'team-X-mails' - mute_times: + mute_time_intervals: - my_mute_time ` _, err := Load(in) diff --git a/dispatch/dispatch.go b/dispatch/dispatch.go index df55f9df..b030046d 100644 --- a/dispatch/dispatch.go +++ b/dispatch/dispatch.go @@ -404,7 +404,7 @@ func (ag *aggrGroup) run(nf notifyFunc) { ctx = notify.WithGroupLabels(ctx, ag.labels) ctx = notify.WithReceiverName(ctx, ag.opts.Receiver) ctx = notify.WithRepeatInterval(ctx, ag.opts.RepeatInterval) - ctx = notify.WithMuteTimes(ctx, ag.opts.MuteTimes) + ctx = notify.WithMuteTimeIntervals(ctx, ag.opts.MuteTimeIntervals) // Wait the configured interval before calling flush again. ag.mtx.Lock() diff --git a/dispatch/route.go b/dispatch/route.go index bcb3f5ae..87082488 100644 --- a/dispatch/route.go +++ b/dispatch/route.go @@ -29,12 +29,12 @@ import ( // DefaultRouteOpts are the defaulting routing options which apply // to the root route of a routing tree. var DefaultRouteOpts = RouteOpts{ - GroupWait: 30 * time.Second, - GroupInterval: 5 * time.Minute, - RepeatInterval: 4 * time.Hour, - GroupBy: map[model.LabelName]struct{}{}, - GroupByAll: false, - MuteTimes: []string{}, + GroupWait: 30 * time.Second, + GroupInterval: 5 * time.Minute, + RepeatInterval: 4 * time.Hour, + GroupBy: map[model.LabelName]struct{}{}, + GroupByAll: false, + MuteTimeIntervals: []string{}, } // A Route is a node that contains definitions of how to handle alerts. @@ -117,7 +117,7 @@ func NewRoute(cr *config.Route, parent *Route) *Route { sort.Sort(matchers) - opts.MuteTimes = cr.MuteTimes + opts.MuteTimeIntervals = cr.MuteTimeIntervals route := &Route{ parent: parent, @@ -208,8 +208,8 @@ type RouteOpts struct { GroupInterval time.Duration RepeatInterval time.Duration - // A list of time intervals for which the route is muted - MuteTimes []string + // A list of time intervals for which the route is muted. + MuteTimeIntervals []string } func (ro *RouteOpts) String() string { diff --git a/notify/notify.go b/notify/notify.go index 4f850600..3a758867 100644 --- a/notify/notify.go +++ b/notify/notify.go @@ -109,7 +109,7 @@ const ( keyFiringAlerts keyResolvedAlerts keyNow - keyMuteTimes + keyMuteTimeIntervals ) // WithReceiverName populates a context with a receiver name. @@ -147,9 +147,9 @@ func WithRepeatInterval(ctx context.Context, t time.Duration) context.Context { return context.WithValue(ctx, keyRepeatInterval, t) } -// WithMuteTimes populates a context with a slice of mute time names. -func WithMuteTimes(ctx context.Context, mt []string) context.Context { - return context.WithValue(ctx, keyMuteTimes, mt) +// WithMuteTimeIntervals populates a context with a slice of mute time names. +func WithMuteTimeIntervals(ctx context.Context, mt []string) context.Context { + return context.WithValue(ctx, keyMuteTimeIntervals, mt) } // RepeatInterval extracts a repeat interval from the context. Iff none exists, the @@ -201,10 +201,10 @@ func ResolvedAlerts(ctx context.Context) ([]uint64, bool) { return v, ok } -// MuteTimeNames extracts a slice of mute time names from the context. Iff none exists, the +// MuteTimeIntervalNames extracts a slice of mute time names from the context. Iff none exists, the // second argument is false. -func MuteTimeNames(ctx context.Context) ([]string, bool) { - v, ok := ctx.Value(keyMuteTimes).([]string) +func MuteTimeIntervalNames(ctx context.Context) ([]string, bool) { + v, ok := ctx.Value(keyMuteTimeIntervals).([]string) return v, ok } @@ -783,7 +783,7 @@ func NewTimeMuteStage(mt map[string][]timeinterval.TimeInterval) *TimeMuteStage // Exec implements the stage interface for TimeMuteStage. // TimeMuteStage is responsible for muting alerts whose route is not in an active time. func (tms TimeMuteStage) Exec(ctx context.Context, l log.Logger, alerts ...*types.Alert) (context.Context, []*types.Alert, error) { - muteTimeNames, ok := MuteTimeNames(ctx) + muteTimeIntervalNames, ok := MuteTimeIntervalNames(ctx) if !ok { return ctx, alerts, nil } @@ -794,7 +794,7 @@ func (tms TimeMuteStage) Exec(ctx context.Context, l log.Logger, alerts ...*type muted := false Loop: - for _, mtName := range muteTimeNames { + for _, mtName := range muteTimeIntervalNames { mt, ok := tms.muteTimes[mtName] if !ok { return ctx, alerts, errors.Errorf("mute time %s doesn't exist in config", mtName) diff --git a/notify/notify_test.go b/notify/notify_test.go index cc6cfd2e..660c3709 100644 --- a/notify/notify_test.go +++ b/notify/notify_test.go @@ -787,7 +787,7 @@ func TestTimeMuteStage(t *testing.T) { alerts := []*types.Alert{{Alert: a}} ctx := context.Background() ctx = WithNow(ctx, now) - ctx = WithMuteTimes(ctx, []string{"test"}) + ctx = WithMuteTimeIntervals(ctx, []string{"test"}) _, out, err := stage.Exec(ctx, log.NewNopLogger(), alerts...) if err != nil {