VictoriaMetrics/app/vmalert/notifier/alertmanager_request.qtpl.go
Roman Khavronenko b099d84271
Vmalert/rules eval (#400)
* Initial rules evaluation support.

Rules are now store alerts state in private field `alerts`. Every evaluation updates
the alerts and state. Every unique metric received from datastore represents a unique alert,
uniqueness is guaranteed by hashing ordered labelset.

* merge with master

* cleanup

* support endAt parameter as 3*evaluationInterval for active alerts

* make golint happy
2020-04-06 14:44:03 +03:00

131 lines
4.2 KiB
Go

// Code generated by qtc from "alertmanager_request.qtpl". DO NOT EDIT.
// See https://github.com/valyala/quicktemplate for details.
//line notifier/alertmanager_request.qtpl:1
package notifier
//line notifier/alertmanager_request.qtpl:1
import (
"time"
)
//line notifier/alertmanager_request.qtpl:6
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line notifier/alertmanager_request.qtpl:6
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line notifier/alertmanager_request.qtpl:6
func streamamRequest(qw422016 *qt422016.Writer, alerts []Alert, generatorURL func(string, string) string) {
//line notifier/alertmanager_request.qtpl:6
qw422016.N().S(`[`)
//line notifier/alertmanager_request.qtpl:8
for i, alert := range alerts {
//line notifier/alertmanager_request.qtpl:8
qw422016.N().S(`{"startsAt":`)
//line notifier/alertmanager_request.qtpl:10
qw422016.N().Q(alert.Start.Format(time.RFC3339Nano))
//line notifier/alertmanager_request.qtpl:10
qw422016.N().S(`,"generatorURL":`)
//line notifier/alertmanager_request.qtpl:11
qw422016.N().Q(generatorURL(alert.Group, alert.Name))
//line notifier/alertmanager_request.qtpl:11
qw422016.N().S(`,`)
//line notifier/alertmanager_request.qtpl:12
if !alert.End.IsZero() {
//line notifier/alertmanager_request.qtpl:12
qw422016.N().S(`"endsAt":`)
//line notifier/alertmanager_request.qtpl:13
qw422016.N().Q(alert.End.Format(time.RFC3339Nano))
//line notifier/alertmanager_request.qtpl:13
qw422016.N().S(`,`)
//line notifier/alertmanager_request.qtpl:14
}
//line notifier/alertmanager_request.qtpl:14
qw422016.N().S(`"labels": {"alertname":`)
//line notifier/alertmanager_request.qtpl:16
qw422016.N().Q(alert.Name)
//line notifier/alertmanager_request.qtpl:17
for k, v := range alert.Labels {
//line notifier/alertmanager_request.qtpl:17
qw422016.N().S(`,`)
//line notifier/alertmanager_request.qtpl:18
qw422016.N().Q(k)
//line notifier/alertmanager_request.qtpl:18
qw422016.N().S(`:`)
//line notifier/alertmanager_request.qtpl:18
qw422016.N().Q(v)
//line notifier/alertmanager_request.qtpl:19
}
//line notifier/alertmanager_request.qtpl:19
qw422016.N().S(`},"annotations": {`)
//line notifier/alertmanager_request.qtpl:22
c := len(alert.Annotations)
//line notifier/alertmanager_request.qtpl:23
for k, v := range alert.Annotations {
//line notifier/alertmanager_request.qtpl:24
c = c - 1
//line notifier/alertmanager_request.qtpl:25
qw422016.N().Q(k)
//line notifier/alertmanager_request.qtpl:25
qw422016.N().S(`:`)
//line notifier/alertmanager_request.qtpl:25
qw422016.N().Q(v)
//line notifier/alertmanager_request.qtpl:25
if c > 0 {
//line notifier/alertmanager_request.qtpl:25
qw422016.N().S(`,`)
//line notifier/alertmanager_request.qtpl:25
}
//line notifier/alertmanager_request.qtpl:26
}
//line notifier/alertmanager_request.qtpl:26
qw422016.N().S(`}}`)
//line notifier/alertmanager_request.qtpl:29
if i != len(alerts)-1 {
//line notifier/alertmanager_request.qtpl:29
qw422016.N().S(`,`)
//line notifier/alertmanager_request.qtpl:29
}
//line notifier/alertmanager_request.qtpl:30
}
//line notifier/alertmanager_request.qtpl:30
qw422016.N().S(`]`)
//line notifier/alertmanager_request.qtpl:32
}
//line notifier/alertmanager_request.qtpl:32
func writeamRequest(qq422016 qtio422016.Writer, alerts []Alert, generatorURL func(string, string) string) {
//line notifier/alertmanager_request.qtpl:32
qw422016 := qt422016.AcquireWriter(qq422016)
//line notifier/alertmanager_request.qtpl:32
streamamRequest(qw422016, alerts, generatorURL)
//line notifier/alertmanager_request.qtpl:32
qt422016.ReleaseWriter(qw422016)
//line notifier/alertmanager_request.qtpl:32
}
//line notifier/alertmanager_request.qtpl:32
func amRequest(alerts []Alert, generatorURL func(string, string) string) string {
//line notifier/alertmanager_request.qtpl:32
qb422016 := qt422016.AcquireByteBuffer()
//line notifier/alertmanager_request.qtpl:32
writeamRequest(qb422016, alerts, generatorURL)
//line notifier/alertmanager_request.qtpl:32
qs422016 := string(qb422016.B)
//line notifier/alertmanager_request.qtpl:32
qt422016.ReleaseByteBuffer(qb422016)
//line notifier/alertmanager_request.qtpl:32
return qs422016
//line notifier/alertmanager_request.qtpl:32
}