aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2020-09-29 10:43:58 +0200
committerGravatar GitHub <noreply@github.com> 2020-09-29 10:43:58 +0200
commit0cb013657028a559b0e5ebe9fb147989cd925562 (patch)
tree53889a780226ab5487e2c1d1292fef739261a6ee
parenta617ef3064cb2bcab03225257c04b35f198173aa (diff)
downloadcoredns-0cb013657028a559b0e5ebe9fb147989cd925562.tar.gz
coredns-0cb013657028a559b0e5ebe9fb147989cd925562.tar.zst
coredns-0cb013657028a559b0e5ebe9fb147989cd925562.zip
Add proto and remote tags to trace plugin (#4159)
* Add proto and client-ip trace tags Signed-off-by: Adam Malcontenti-Wilson <amalcontenti-wilson@zendesk.com> * Commit my own suggestion Signed-off-by: Miek Gieben <miek@miek.nl> Co-authored-by: Adam Malcontenti-Wilson <amalcontenti-wilson@zendesk.com>
-rw-r--r--plugin/trace/trace.go10
-rw-r--r--plugin/trace/trace_test.go6
2 files changed, 13 insertions, 3 deletions
diff --git a/plugin/trace/trace.go b/plugin/trace/trace.go
index be62b63f3..b74cc5b33 100644
--- a/plugin/trace/trace.go
+++ b/plugin/trace/trace.go
@@ -25,9 +25,11 @@ import (
)
const (
- tagName = "coredns.io/name"
- tagType = "coredns.io/type"
- tagRcode = "coredns.io/rcode"
+ tagName = "coredns.io/name"
+ tagType = "coredns.io/type"
+ tagRcode = "coredns.io/rcode"
+ tagProto = "coredns.io/proto"
+ tagRemote = "coredns.io/remote"
)
type trace struct {
@@ -107,6 +109,8 @@ func (t *trace) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
span.SetTag(tagName, req.Name())
span.SetTag(tagType, req.Type())
+ span.SetTag(tagProto, req.Proto())
+ span.SetTag(tagRemote, req.IP())
span.SetTag(tagRcode, rcode.ToString(rw.Rcode))
return status, err
diff --git a/plugin/trace/trace_test.go b/plugin/trace/trace_test.go
index 9b1105129..e06e3e8ee 100644
--- a/plugin/trace/trace_test.go
+++ b/plugin/trace/trace_test.go
@@ -88,6 +88,12 @@ func TestTrace(t *testing.T) {
if rootSpan.Tag(tagType) != req.Type() {
t.Errorf("Unexpected span tag: rootSpan.Tag(%v): want %v, got %v", tagType, req.Type(), rootSpan.Tag(tagType))
}
+ if rootSpan.Tag(tagProto) != req.Proto() {
+ t.Errorf("Unexpected span tag: rootSpan.Tag(%v): want %v, got %v", tagProto, req.Proto(), rootSpan.Tag(tagProto))
+ }
+ if rootSpan.Tag(tagRemote) != req.IP() {
+ t.Errorf("Unexpected span tag: rootSpan.Tag(%v): want %v, got %v", tagRemote, req.IP(), rootSpan.Tag(tagRemote))
+ }
if rootSpan.Tag(tagRcode) != rcode.ToString(tc.rcode) {
t.Errorf("Unexpected span tag: rootSpan.Tag(%v): want %v, got %v", tagRcode, rcode.ToString(tc.rcode), rootSpan.Tag(tagRcode))
}