From fda842233aa17c29ea46808a40cbf2d20cebb24a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Martins?= Date: Thu, 22 Oct 2020 15:26:46 +0200 Subject: [PATCH] pkg/endpoint: reduce cardinality of prometheus labels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit ec16cab361309155d012ce12b93750fc5b876c9d ] If the controller that is used for label resolution fails, the prometheus metrics will increase its cardinality since the uniquely controller name was being used as a prometheus label. To avoid this, we will reference these warnings with a common subsystem name, 'resolve-labels'. Fixes: a31ab29f57b2 ("endpoint: Run labels controller under ep manager") Signed-off-by: André Martins Signed-off-by: Paul Chaignon --- pkg/endpoint/endpoint.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/endpoint/endpoint.go b/pkg/endpoint/endpoint.go index dc4add23edbc..8ee7879d6c1b 100644 --- a/pkg/endpoint/endpoint.go +++ b/pkg/endpoint/endpoint.go @@ -1531,7 +1531,8 @@ type MetadataResolverCB func(ns, podName string) (identityLabels labels.Labels, // will handle updates (such as pkg/k8s/watchers informers). func (e *Endpoint) RunMetadataResolver(resolveMetadata MetadataResolverCB) { done := make(chan struct{}) - controllerName := fmt.Sprintf("resolve-labels-%s", e.GetK8sNamespaceAndPodName()) + const controllerPrefix = "resolve-labels" + controllerName := fmt.Sprintf("%s-%s", controllerPrefix, e.GetK8sNamespaceAndPodName()) go func() { select { case <-done: @@ -1547,7 +1548,7 @@ func (e *Endpoint) RunMetadataResolver(resolveMetadata MetadataResolverCB) { ns, podName := e.GetK8sNamespace(), e.GetK8sPodName() identityLabels, info, _, err := resolveMetadata(ns, podName) if err != nil { - e.Logger(controllerName).WithError(err).Warning("Unable to fetch kubernetes labels") + e.Logger(controllerPrefix).WithError(err).Warning("Unable to fetch kubernetes labels") return err } e.UpdateVisibilityPolicy(func(_, _ string) (proxyVisibility string, err error) {