From 8a2c3413b95d33f803e0a3db80d3d03dab15f0ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Nussbaumer?= Date: Wed, 8 Mar 2023 11:43:21 +0100 Subject: [PATCH] fix: only add rcode label when no err was returned MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Clément Nussbaumer --- main.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index ee078aa..5576f30 100644 --- a/main.go +++ b/main.go @@ -211,16 +211,9 @@ func (l *lookuper) start(interval time.Duration) { m := new(dns.Msg) m.SetQuestion(fmt.Sprintf("%s.", l.host), dns.TypeA) msg, rtt, err := l.c.Exchange(m, l.dnsServer.address) - rcodeStr, ok := dns.RcodeToString[msg.Rcode] - - if !ok { // rcode not known in table. - rcodeStr = fmt.Sprintf("%#x", msg.Rcode) - } - - metrics.GetOrCreateCounter(fmt.Sprintf("%s{%s,rcode=%q}", - dnsLookupTotalName, l.labels, rcodeStr)).Inc() if err != nil { + metrics.GetOrCreateCounter(fmt.Sprintf("%s{%s}", dnsLookupTotalName, l.labels)).Inc() metrics.GetOrCreateCounter(fmt.Sprintf("%s{%s}", dnsErrorsTotalName, l.labels)).Inc() l.l.Errorw("dns lookup failed", @@ -232,6 +225,14 @@ func (l *lookuper) start(interval time.Duration) { continue } + rcodeStr, ok := dns.RcodeToString[msg.Rcode] + + if !ok { // if rcode not known in table. + rcodeStr = fmt.Sprintf("%#x", msg.Rcode) + } + + metrics.GetOrCreateCounter(fmt.Sprintf("%s{%s,rcode=%q}", + dnsLookupTotalName, l.labels, rcodeStr)).Inc() metrics.GetOrCreateHistogram(fmt.Sprintf("%s{%s}", dnsDurationName, l.labels)).Update(rtt.Seconds())