cmd/prometheus/main.go
func sendAlerts(s sender, externalURL string) rules.NotifyFunc {
	return func(ctx context.Context, expr string, alerts ...*rules.Alert) {
		var res []*notifier.Alert

		for _, alert := range alerts {
			a := &notifier.Alert{
				StartsAt:     alert.FiredAt,
				Labels:       alert.Labels,
				Annotations:  alert.Annotations,
				GeneratorURL: externalURL + strutil.TableLinkForExpression(expr),
			}
			if !alert.ResolvedAt.IsZero() {
				a.EndsAt = alert.ResolvedAt
			} else {
				a.EndsAt = alert.ValidUntil
			}
			res = append(res, a)
		}

		if len(alerts) > 0 {
			s.Send(res...)
		}
	}
}
func sendAlerts(s sender, externalURL string) rules.NotifyFunc {
	return func(ctx context.Context, expr string, alerts ...*rules.Alert) {
		var res []*notifier.Alert

		for _, alert := range alerts {
			a := &notifier.Alert{
				StartsAt:     alert.FiredAt,
				Labels:       alert.Labels,
				Annotations:  alert.Annotations,
				GeneratorURL: externalURL + strutil.TableLinkForExpression(expr),
			}
			if !alert.ResolvedAt.IsZero() {
				a.EndsAt = alert.ResolvedAt
			} else {
				a.EndsAt = alert.ValidUntil
			}
			res = append(res, a)
		}

		if len(alerts) > 0 {
			s.Send(res...)
		}
	}
}
func sendAlerts ( s sender , externalURL string ) rules . NotifyFunc { return func ( ctx context . Context , expr string , alerts ... * rules . Alert ) { var res [ ] * notifier . Alert for _ , alert := range alerts { a := & notifier . Alert { StartsAt : alert . FiredAt , Labels : alert . Labels , Annotations : alert . Annotations , GeneratorURL : externalURL + strutil . TableLinkForExpression ( expr ) , } if ! alert . ResolvedAt . IsZero ( ) { a . EndsAt = alert . ResolvedAt } else { a . EndsAt = alert . ValidUntil } res = append ( res , a ) } if len ( alerts ) > 0 { s . Send ( res ... ) } } }
// sendAlerts implements the rules.NotifyFunc for a Notifier.
sendAlerts implements the rules . NotifyFunc for a Notifier .