aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2018-04-25 15:27:25 +0100
committerGravatar GitHub <noreply@github.com> 2018-04-25 15:27:25 +0100
commitd3f2d4a291318607e084d57cd1b5e8f4882abbb5 (patch)
treebd104ffbaf953334e2bbd19b0037e940c66fe19a
parent7a507e34ca880344dfc98b6331508c0e9bef54f5 (diff)
downloadcoredns-d3f2d4a291318607e084d57cd1b5e8f4882abbb5.tar.gz
coredns-d3f2d4a291318607e084d57cd1b5e8f4882abbb5.tar.zst
coredns-d3f2d4a291318607e084d57cd1b5e8f4882abbb5.zip
core: remove HostAddresses() (#1728)
* core: remove HostAddresses() config.HostAddresses() is a weird function that gathers some data from the server and returns a string. It is *only* used the trace plugin, to figure out what server starts the trace. Looks to be better to fit in the with metrics.WithServer label on the trace itself to show which server handled the trace. Remove HostAddresses() and cleanup trace a small bit.:w * lint
-rw-r--r--core/dnsserver/config.go17
-rw-r--r--plugin/trace/setup.go3
-rw-r--r--plugin/trace/trace.go11
3 files changed, 7 insertions, 24 deletions
diff --git a/core/dnsserver/config.go b/core/dnsserver/config.go
index d21a52380..a63058d43 100644
--- a/core/dnsserver/config.go
+++ b/core/dnsserver/config.go
@@ -3,7 +3,6 @@ package dnsserver
import (
"crypto/tls"
"fmt"
- "net"
"github.com/coredns/coredns/plugin"
@@ -53,22 +52,6 @@ type Config struct {
registry map[string]plugin.Handler
}
-//HostAddresses builds a representation of the addresses of this Config
-//after server is started ONLY, can be used as a Key for identifing that config
-// :53 or 127.0.0.1:53 or 127.0.0.1:53/::1:53
-func (c *Config) HostAddresses() string {
- all := ""
- for _, h := range c.ListenHosts {
- addr := net.JoinHostPort(h, c.Port)
- if all == "" {
- all = addr
- continue
- }
- all = all + "/" + addr
- }
- return all
-}
-
// keyForConfig build a key for identifying the configs during setup time
func keyForConfig(blocIndex int, blocKeyIndex int) string {
return fmt.Sprintf("%d:%d", blocIndex, blocKeyIndex)
diff --git a/plugin/trace/setup.go b/plugin/trace/setup.go
index 881ddc357..1614cc177 100644
--- a/plugin/trace/setup.go
+++ b/plugin/trace/setup.go
@@ -41,7 +41,8 @@ func traceParse(c *caddy.Controller) (*trace, error) {
)
cfg := dnsserver.GetConfig(c)
- tr.ServiceEndpoint = cfg.HostAddresses()
+ tr.serviceEndpoint = cfg.ListenHosts[0] + ":" + cfg.Port
+
for c.Next() { // trace
var err error
args := c.RemainingArgs()
diff --git a/plugin/trace/trace.go b/plugin/trace/trace.go
index 93b8e4989..a0a2071ea 100644
--- a/plugin/trace/trace.go
+++ b/plugin/trace/trace.go
@@ -9,6 +9,7 @@ import (
"sync/atomic"
"github.com/coredns/coredns/plugin"
+ "github.com/coredns/coredns/plugin/metrics"
// Plugin the trace package.
_ "github.com/coredns/coredns/plugin/pkg/trace"
@@ -20,10 +21,10 @@ import (
type trace struct {
Next plugin.Handler
- ServiceEndpoint string
Endpoint string
EndpointType string
tracer ot.Tracer
+ serviceEndpoint string
serviceName string
clientServer bool
every uint64
@@ -58,7 +59,7 @@ func (t *trace) setupZipkin() error {
return err
}
- recorder := zipkin.NewRecorder(collector, false, t.ServiceEndpoint, t.serviceName)
+ recorder := zipkin.NewRecorder(collector, false, t.serviceEndpoint, t.serviceName)
t.tracer, err = zipkin.NewTracer(recorder, zipkin.ClientServerSameSpan(t.clientServer))
return err
@@ -81,9 +82,7 @@ func (t *trace) setupDatadog() error {
}
// Name implements the Handler interface.
-func (t *trace) Name() string {
- return "trace"
-}
+func (t *trace) Name() string { return "trace" }
// ServeDNS implements the plugin.Handle interface.
func (t *trace) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
@@ -96,7 +95,7 @@ func (t *trace) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
}
}
if span := ot.SpanFromContext(ctx); span == nil && trace {
- span := t.Tracer().StartSpan("servedns")
+ span := t.Tracer().StartSpan("servedns:" + metrics.WithServer(ctx))
defer span.Finish()
ctx = ot.ContextWithSpan(ctx, span)
}