From a4dc11167f237e591349d61fc40a1837f5570b07 Mon Sep 17 00:00:00 2001 From: James Phillips Date: Mon, 21 Dec 2015 17:01:28 -0800 Subject: [PATCH] Adds telemetry on number of DNS queries served, per-agent. --- command/agent/dns.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/command/agent/dns.go b/command/agent/dns.go index 33db8ba7e4..cabae31f9e 100644 --- a/command/agent/dns.go +++ b/command/agent/dns.go @@ -9,6 +9,7 @@ import ( "sync" "time" + "github.com/armon/go-metrics" "github.com/hashicorp/consul/consul" "github.com/hashicorp/consul/consul/structs" "github.com/miekg/dns" @@ -221,6 +222,8 @@ func (d *DNSServer) handlePtr(resp dns.ResponseWriter, req *dns.Msg) { if err := resp.WriteMsg(m); err != nil { d.logger.Printf("[WARN] dns: failed to respond: %v", err) } + + metrics.IncrCounter([]string{"consul", "dns", "query", d.agent.config.NodeName}, 1) } // handleQuery is used to handle DNS queries in the configured domain @@ -256,6 +259,8 @@ func (d *DNSServer) handleQuery(resp dns.ResponseWriter, req *dns.Msg) { if err := resp.WriteMsg(m); err != nil { d.logger.Printf("[WARN] dns: failed to respond: %v", err) } + + metrics.IncrCounter([]string{"consul", "dns", "query", d.agent.config.NodeName}, 1) } // addSOA is used to add an SOA record to a message for the given domain