diff --git a/probe/kubernetes/reporter.go b/probe/kubernetes/reporter.go index 3dfa8c793..f7e20acf0 100644 --- a/probe/kubernetes/reporter.go +++ b/probe/kubernetes/reporter.go @@ -238,8 +238,15 @@ func isPauseContainer(n report.Node, rpt report.Report) bool { return false } +// Tagger adds pod parents to container nodes. +type Tagger struct { +} + +// Name of this tagger, for metrics gathering +func (Tagger) Name() string { return "K8s" } + // Tag adds pod parents to container nodes. -func (r *Reporter) Tag(rpt report.Report) (report.Report, error) { +func (r *Tagger) Tag(rpt report.Report) (report.Report, error) { for id, n := range rpt.Container.Nodes { uid, ok := n.Latest.Lookup(docker.LabelPrefix + "io.kubernetes.pod.uid") if !ok { diff --git a/probe/kubernetes/reporter_test.go b/probe/kubernetes/reporter_test.go index 70e083b3a..bce58cd3a 100644 --- a/probe/kubernetes/reporter_test.go +++ b/probe/kubernetes/reporter_test.go @@ -328,8 +328,7 @@ func TestTagger(t *testing.T) { docker.LabelPrefix + "io.kubernetes.pod.uid": "123456", })) - hr := controls.NewDefaultHandlerRegistry() - rpt, err := kubernetes.NewReporter(newMockClient(), nil, "", "", nil, hr, "", 0).Tag(rpt) + rpt, err := (&kubernetes.Tagger{}).Tag(rpt) if err != nil { t.Errorf("Unexpected error: %v", err) } diff --git a/prog/probe.go b/prog/probe.go index 756a5d00b..abba70502 100644 --- a/prog/probe.go +++ b/prog/probe.go @@ -273,7 +273,7 @@ func probeMain(flags probeFlags, targets []appclient.Target) { reporter := kubernetes.NewReporter(client, clients, probeID, hostID, p, handlerRegistry, flags.kubernetesNodeName, flags.kubernetesKubeletPort) defer reporter.Stop() p.AddReporter(reporter) - p.AddTagger(reporter) + p.AddTagger(&kubernetes.Tagger{}) } else { log.Errorf("Kubernetes: failed to start client: %v", err) log.Errorf("Kubernetes: make sure to run Scope inside a POD with a service account or provide valid probe.kubernetes.* flags")