mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-25 13:44:05 -08:00
Make templateData a struct
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com>
This commit is contained in:
parent
5b2cfc5e45
commit
8b45384a44
|
@ -380,7 +380,7 @@ func (r *AlertingRule) Eval(ctx context.Context, queryOffset time.Duration, ts t
|
|||
result, err := tmpl.Expand()
|
||||
if err != nil {
|
||||
result = fmt.Sprintf("<error expanding template: %s>", err)
|
||||
r.logger.Warn("Expanding alert template failed", "err", err, "data", fmt.Sprintf("%#v", tmplData))
|
||||
r.logger.Warn("Expanding alert template failed", "err", err, "data", tmplData)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
|
|
@ -280,14 +280,30 @@ func NewTemplateExpander(
|
|||
}
|
||||
}
|
||||
|
||||
// AlertTemplateData returns the interface to be used in expanding the template.
|
||||
func AlertTemplateData(labels, externalLabels map[string]string, externalURL string, smpl promql.Sample) interface{} {
|
||||
res := struct {
|
||||
type templateData struct {
|
||||
Labels map[string]string
|
||||
ExternalLabels map[string]string
|
||||
ExternalURL string
|
||||
Value interface{}
|
||||
}{
|
||||
}
|
||||
|
||||
// String implements fmt.Stringer interface.
|
||||
func (t templateData) String() string {
|
||||
labelsString := func(labels map[string]string) string {
|
||||
// model.LabelSet has a ready String() method, that we can use.
|
||||
labelSet := make(model.LabelSet, len(t.Labels))
|
||||
for k, v := range t.Labels {
|
||||
labelSet[model.LabelName(k)] = model.LabelValue(v)
|
||||
}
|
||||
return labelSet.String()
|
||||
}
|
||||
|
||||
return fmt.Sprintf("<Labels: %s, ExternalLabels: %s, ExternalURL: %s, Value: %v>", labelsString(t.Labels), labelsString(t.ExternalLabels), t.ExternalURL, t.Value)
|
||||
}
|
||||
|
||||
// AlertTemplateData returns the interface to be used in expanding the template.
|
||||
func AlertTemplateData(labels, externalLabels map[string]string, externalURL string, smpl promql.Sample) interface{} {
|
||||
res := templateData{
|
||||
Labels: labels,
|
||||
ExternalLabels: externalLabels,
|
||||
ExternalURL: externalURL,
|
||||
|
|
Loading…
Reference in a new issue