diff options
author | 2019-10-04 17:48:43 +0200 | |
---|---|---|
committer | 2019-10-04 16:48:43 +0100 | |
commit | d7cdb992b4f96603d444b7ab058594563c5fe043 (patch) | |
tree | f86cd9bc6acc2c69b30a0980b2a4ed2b481ca45f /plugin/kubernetes/setup.go | |
parent | 03ea2ae955823612da2e3b2ebf21da7ab8eea1bd (diff) | |
download | coredns-d7cdb992b4f96603d444b7ab058594563c5fe043.tar.gz coredns-d7cdb992b4f96603d444b7ab058594563c5fe043.tar.zst coredns-d7cdb992b4f96603d444b7ab058594563c5fe043.zip |
Measure and expose DNS programming latency from Kubernetes plugin. (#3171)
For now metric is measure only for headless services. Informer has been slighlty
refactored, so the code can measure latency without storing extra fields on
Endpoint struct.
Signed-off-by: Janek Ćukaszewicz <janluk@google.com>
Suggestions from code review
Co-Authored-By: Chris O'Haver <cohaver@infoblox.com>
Diffstat (limited to 'plugin/kubernetes/setup.go')
-rw-r--r-- | plugin/kubernetes/setup.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/plugin/kubernetes/setup.go b/plugin/kubernetes/setup.go index 63d85fee9..b35d653e1 100644 --- a/plugin/kubernetes/setup.go +++ b/plugin/kubernetes/setup.go @@ -10,6 +10,7 @@ import ( "github.com/coredns/coredns/core/dnsserver" "github.com/coredns/coredns/plugin" + "github.com/coredns/coredns/plugin/metrics" "github.com/coredns/coredns/plugin/pkg/dnsutil" clog "github.com/coredns/coredns/plugin/pkg/log" "github.com/coredns/coredns/plugin/pkg/parse" @@ -51,6 +52,11 @@ func setup(c *caddy.Controller) error { k.RegisterKubeCache(c) + c.OnStartup(func() error { + metrics.MustRegister(c, DnsProgrammingLatency) + return nil + }) + dnsserver.GetConfig(c).AddPlugin(func(next plugin.Handler) plugin.Handler { k.Next = next return k |