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>
This commit is contained in:
Miek Gieben 2020-09-29 10:43:58 +02:00 committed by GitHub
parent a617ef3064
commit 0cb0136570
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 3 deletions

View file

@ -28,6 +28,8 @@ const (
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

View file

@ -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))
}