mirror of
https://github.com/coredns/coredns.git
synced 2025-11-22 03:42:16 -05:00
plugin/template : add view label into plugin metrics (#5620)
Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>
This commit is contained in:
@@ -86,7 +86,7 @@ func (h Handler) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
|
||||
continue
|
||||
}
|
||||
|
||||
templateMatchesCount.WithLabelValues(metrics.WithServer(ctx), data.Zone, data.Class, data.Type).Inc()
|
||||
templateMatchesCount.WithLabelValues(metrics.WithServer(ctx), data.Zone, metrics.WithView(ctx), data.Class, data.Type).Inc()
|
||||
|
||||
if template.rcode == dns.RcodeServerFailure {
|
||||
return template.rcode, nil
|
||||
@@ -98,7 +98,7 @@ func (h Handler) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
|
||||
msg.Rcode = template.rcode
|
||||
|
||||
for _, answer := range template.answer {
|
||||
rr, err := executeRRTemplate(metrics.WithServer(ctx), "answer", answer, data)
|
||||
rr, err := executeRRTemplate(metrics.WithServer(ctx), metrics.WithView(ctx), "answer", answer, data)
|
||||
if err != nil {
|
||||
return dns.RcodeServerFailure, err
|
||||
}
|
||||
@@ -111,14 +111,14 @@ func (h Handler) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
|
||||
}
|
||||
}
|
||||
for _, additional := range template.additional {
|
||||
rr, err := executeRRTemplate(metrics.WithServer(ctx), "additional", additional, data)
|
||||
rr, err := executeRRTemplate(metrics.WithServer(ctx), metrics.WithView(ctx), "additional", additional, data)
|
||||
if err != nil {
|
||||
return dns.RcodeServerFailure, err
|
||||
}
|
||||
msg.Extra = append(msg.Extra, rr)
|
||||
}
|
||||
for _, authority := range template.authority {
|
||||
rr, err := executeRRTemplate(metrics.WithServer(ctx), "authority", authority, data)
|
||||
rr, err := executeRRTemplate(metrics.WithServer(ctx), metrics.WithView(ctx), "authority", authority, data)
|
||||
if err != nil {
|
||||
return dns.RcodeServerFailure, err
|
||||
}
|
||||
@@ -135,16 +135,16 @@ func (h Handler) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
|
||||
// Name implements the plugin.Handler interface.
|
||||
func (h Handler) Name() string { return "template" }
|
||||
|
||||
func executeRRTemplate(server, section string, template *gotmpl.Template, data *templateData) (dns.RR, error) {
|
||||
func executeRRTemplate(server, view, section string, template *gotmpl.Template, data *templateData) (dns.RR, error) {
|
||||
buffer := &bytes.Buffer{}
|
||||
err := template.Execute(buffer, data)
|
||||
if err != nil {
|
||||
templateFailureCount.WithLabelValues(server, data.Zone, data.Class, data.Type, section, template.Tree.Root.String()).Inc()
|
||||
templateFailureCount.WithLabelValues(server, data.Zone, view, data.Class, data.Type, section, template.Tree.Root.String()).Inc()
|
||||
return nil, err
|
||||
}
|
||||
rr, err := dns.NewRR(buffer.String())
|
||||
if err != nil {
|
||||
templateRRFailureCount.WithLabelValues(server, data.Zone, data.Class, data.Type, section, template.Tree.Root.String()).Inc()
|
||||
templateRRFailureCount.WithLabelValues(server, data.Zone, view, data.Class, data.Type, section, template.Tree.Root.String()).Inc()
|
||||
return rr, err
|
||||
}
|
||||
return rr, nil
|
||||
|
||||
Reference in New Issue
Block a user