diff --git a/discovery/kubernetes/endpoints.go b/discovery/kubernetes/endpoints.go index f97f1ee566..512d775523 100644 --- a/discovery/kubernetes/endpoints.go +++ b/discovery/kubernetes/endpoints.go @@ -54,13 +54,13 @@ func NewEndpoints(l log.Logger, eps cache.SharedIndexInformer, svc, pod, node ca l = log.NewNopLogger() } - epAddCount := eventCount.WithLabelValues("endpoints", "add") - epUpdateCount := eventCount.WithLabelValues("endpoints", "update") - epDeleteCount := eventCount.WithLabelValues("endpoints", "delete") + epAddCount := eventCount.WithLabelValues(RoleEndpoint.String(), MetricLabelRoleAdd) + epUpdateCount := eventCount.WithLabelValues(RoleEndpoint.String(), MetricLabelRoleUpdate) + epDeleteCount := eventCount.WithLabelValues(RoleEndpoint.String(), MetricLabelRoleDelete) - svcAddCount := eventCount.WithLabelValues("service", "add") - svcUpdateCount := eventCount.WithLabelValues("service", "update") - svcDeleteCount := eventCount.WithLabelValues("service", "delete") + svcAddCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleAdd) + svcUpdateCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleUpdate) + svcDeleteCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleDelete) e := &Endpoints{ logger: l, @@ -72,7 +72,7 @@ func NewEndpoints(l log.Logger, eps cache.SharedIndexInformer, svc, pod, node ca podStore: pod.GetStore(), nodeInf: node, withNodeMetadata: node != nil, - queue: workqueue.NewNamed("endpoints"), + queue: workqueue.NewNamed(RoleEndpoint.String()), } _, err := e.endpointsInf.AddEventHandler(cache.ResourceEventHandlerFuncs{ diff --git a/discovery/kubernetes/endpointslice.go b/discovery/kubernetes/endpointslice.go index a7e0ea98c0..21095df4af 100644 --- a/discovery/kubernetes/endpointslice.go +++ b/discovery/kubernetes/endpointslice.go @@ -57,13 +57,13 @@ func NewEndpointSlice(l log.Logger, eps cache.SharedIndexInformer, svc, pod, nod l = log.NewNopLogger() } - epslAddCount := eventCount.WithLabelValues("endpointslice", "add") - epslUpdateCount := eventCount.WithLabelValues("endpointslice", "update") - epslDeleteCount := eventCount.WithLabelValues("endpointslice", "delete") + epslAddCount := eventCount.WithLabelValues(RoleEndpointSlice.String(), MetricLabelRoleAdd) + epslUpdateCount := eventCount.WithLabelValues(RoleEndpointSlice.String(), MetricLabelRoleUpdate) + epslDeleteCount := eventCount.WithLabelValues(RoleEndpointSlice.String(), MetricLabelRoleDelete) - svcAddCount := eventCount.WithLabelValues("service", "add") - svcUpdateCount := eventCount.WithLabelValues("service", "update") - svcDeleteCount := eventCount.WithLabelValues("service", "delete") + svcAddCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleAdd) + svcUpdateCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleUpdate) + svcDeleteCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleDelete) e := &EndpointSlice{ logger: l, @@ -75,7 +75,7 @@ func NewEndpointSlice(l log.Logger, eps cache.SharedIndexInformer, svc, pod, nod podStore: pod.GetStore(), nodeInf: node, withNodeMetadata: node != nil, - queue: workqueue.NewNamed("endpointSlice"), + queue: workqueue.NewNamed(RoleEndpointSlice.String()), } _, err := e.endpointSliceInf.AddEventHandler(cache.ResourceEventHandlerFuncs{ diff --git a/discovery/kubernetes/ingress.go b/discovery/kubernetes/ingress.go index 72712245a3..80f508a64a 100644 --- a/discovery/kubernetes/ingress.go +++ b/discovery/kubernetes/ingress.go @@ -42,15 +42,15 @@ type Ingress struct { // NewIngress returns a new ingress discovery. func NewIngress(l log.Logger, inf cache.SharedInformer, eventCount *prometheus.CounterVec) *Ingress { - ingressAddCount := eventCount.WithLabelValues("ingress", "add") - ingressUpdateCount := eventCount.WithLabelValues("ingress", "update") - ingressDeleteCount := eventCount.WithLabelValues("ingress", "delete") + ingressAddCount := eventCount.WithLabelValues(RoleIngress.String(), MetricLabelRoleAdd) + ingressUpdateCount := eventCount.WithLabelValues(RoleIngress.String(), MetricLabelRoleUpdate) + ingressDeleteCount := eventCount.WithLabelValues(RoleIngress.String(), MetricLabelRoleDelete) s := &Ingress{ logger: l, informer: inf, store: inf.GetStore(), - queue: workqueue.NewNamed("ingress"), + queue: workqueue.NewNamed(RoleIngress.String()), } _, err := s.informer.AddEventHandler(cache.ResourceEventHandlerFuncs{ diff --git a/discovery/kubernetes/kubernetes.go b/discovery/kubernetes/kubernetes.go index 4deaf3f683..1e59c0db6a 100644 --- a/discovery/kubernetes/kubernetes.go +++ b/discovery/kubernetes/kubernetes.go @@ -102,6 +102,16 @@ func (c *Role) UnmarshalYAML(unmarshal func(interface{}) error) error { } } +func (c Role) String() string { + return string(c) +} + +const ( + MetricLabelRoleAdd = "add" + MetricLabelRoleDelete = "delete" + MetricLabelRoleUpdate = "update" +) + // SDConfig is the configuration for Kubernetes service discovery. type SDConfig struct { APIServer config.URL `yaml:"api_server,omitempty"` @@ -351,8 +361,18 @@ func New(l log.Logger, reg prometheus.Registerer, conf *SDConfig) (*Discovery, e d.metricRegisterer = discovery.NewMetricRegisterer(reg, []prometheus.Collector{d.eventCount}) // Initialize metric vectors. - for _, role := range []string{"endpointslice", "endpoints", "node", "pod", "service", "ingress"} { - for _, evt := range []string{"add", "delete", "update"} { + for _, role := range []string{ + RoleEndpointSlice.String(), + RoleEndpoint.String(), + RoleNode.String(), + RolePod.String(), + RoleService.String(), + RoleIngress.String()} { + for _, evt := range []string{ + MetricLabelRoleAdd, + MetricLabelRoleDelete, + MetricLabelRoleUpdate, + } { d.eventCount.WithLabelValues(role, evt) } } diff --git a/discovery/kubernetes/node.go b/discovery/kubernetes/node.go index f9a3183365..74d87e22c4 100644 --- a/discovery/kubernetes/node.go +++ b/discovery/kubernetes/node.go @@ -50,15 +50,15 @@ func NewNode(l log.Logger, inf cache.SharedInformer, eventCount *prometheus.Coun l = log.NewNopLogger() } - nodeAddCount := eventCount.WithLabelValues("node", "add") - nodeUpdateCount := eventCount.WithLabelValues("node", "update") - nodeDeleteCount := eventCount.WithLabelValues("node", "delete") + nodeAddCount := eventCount.WithLabelValues(RoleNode.String(), MetricLabelRoleAdd) + nodeUpdateCount := eventCount.WithLabelValues(RoleNode.String(), MetricLabelRoleUpdate) + nodeDeleteCount := eventCount.WithLabelValues(RoleNode.String(), MetricLabelRoleDelete) n := &Node{ logger: l, informer: inf, store: inf.GetStore(), - queue: workqueue.NewNamed("node"), + queue: workqueue.NewNamed(RoleNode.String()), } _, err := n.informer.AddEventHandler(cache.ResourceEventHandlerFuncs{ diff --git a/discovery/kubernetes/pod.go b/discovery/kubernetes/pod.go index 31936f9c0c..615717c138 100644 --- a/discovery/kubernetes/pod.go +++ b/discovery/kubernetes/pod.go @@ -51,9 +51,9 @@ func NewPod(l log.Logger, pods cache.SharedIndexInformer, nodes cache.SharedInfo l = log.NewNopLogger() } - podAddCount := eventCount.WithLabelValues("pod", "add") - podDeleteCount := eventCount.WithLabelValues("pod", "delete") - podUpdateCount := eventCount.WithLabelValues("pod", "update") + podAddCount := eventCount.WithLabelValues(RolePod.String(), MetricLabelRoleAdd) + podDeleteCount := eventCount.WithLabelValues(RolePod.String(), MetricLabelRoleDelete) + podUpdateCount := eventCount.WithLabelValues(RolePod.String(), MetricLabelRoleUpdate) p := &Pod{ podInf: pods, @@ -61,7 +61,7 @@ func NewPod(l log.Logger, pods cache.SharedIndexInformer, nodes cache.SharedInfo withNodeMetadata: nodes != nil, store: pods.GetStore(), logger: l, - queue: workqueue.NewNamed("pod"), + queue: workqueue.NewNamed(RolePod.String()), } _, err := p.podInf.AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: func(o interface{}) { diff --git a/discovery/kubernetes/service.go b/discovery/kubernetes/service.go index 02158b124c..51204a5a1a 100644 --- a/discovery/kubernetes/service.go +++ b/discovery/kubernetes/service.go @@ -45,15 +45,15 @@ func NewService(l log.Logger, inf cache.SharedInformer, eventCount *prometheus.C l = log.NewNopLogger() } - svcAddCount := eventCount.WithLabelValues("service", "add") - svcUpdateCount := eventCount.WithLabelValues("service", "update") - svcDeleteCount := eventCount.WithLabelValues("service", "delete") + svcAddCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleAdd) + svcUpdateCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleUpdate) + svcDeleteCount := eventCount.WithLabelValues(RoleService.String(), MetricLabelRoleDelete) s := &Service{ logger: l, informer: inf, store: inf.GetStore(), - queue: workqueue.NewNamed("service"), + queue: workqueue.NewNamed(RoleService.String()), } _, err := s.informer.AddEventHandler(cache.ResourceEventHandlerFuncs{