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/object/object.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/object/object.go')
-rw-r--r-- | plugin/kubernetes/object/object.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugin/kubernetes/object/object.go b/plugin/kubernetes/object/object.go index 6b1c7d839..132b5be6c 100644 --- a/plugin/kubernetes/object/object.go +++ b/plugin/kubernetes/object/object.go @@ -16,14 +16,18 @@ package object import ( - "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/tools/cache" ) // ToFunc converts one empty interface to another. type ToFunc func(interface{}) interface{} +// ProcessorBuilder returns function to process cache events. +type ProcessorBuilder func(cache.Indexer, cache.ResourceEventHandler) cache.ProcessFunc + // Empty is an empty struct. type Empty struct{} |