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>
This commit is contained in:
parent
03ea2ae955
commit
d7cdb992b4
11 changed files with 330 additions and 37 deletions
|
@ -16,8 +16,14 @@ type Pod struct {
|
|||
*Empty
|
||||
}
|
||||
|
||||
// ToPod converts an api.Pod to a *Pod.
|
||||
func ToPod(obj interface{}) interface{} {
|
||||
// ToPod returns a function that converts an api.Pod to a *Pod.
|
||||
func ToPod(skipCleanup bool) ToFunc {
|
||||
return func(obj interface{}) interface{} {
|
||||
return toPod(skipCleanup, obj)
|
||||
}
|
||||
}
|
||||
|
||||
func toPod(skipCleanup bool, obj interface{}) interface{} {
|
||||
pod, ok := obj.(*api.Pod)
|
||||
if !ok {
|
||||
return nil
|
||||
|
@ -35,7 +41,9 @@ func ToPod(obj interface{}) interface{} {
|
|||
return nil
|
||||
}
|
||||
|
||||
*pod = api.Pod{}
|
||||
if !skipCleanup {
|
||||
*pod = api.Pod{}
|
||||
}
|
||||
|
||||
return p
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue