diff --git a/discovery/kubernetes/client_metrics.go b/discovery/kubernetes/client_metrics.go index 710373c01..cf4921dc0 100644 --- a/discovery/kubernetes/client_metrics.go +++ b/discovery/kubernetes/client_metrics.go @@ -19,15 +19,11 @@ import ( "github.com/prometheus/client_golang/prometheus" - "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/metrics" "k8s.io/client-go/util/workqueue" ) -const ( - cacheMetricsNamespace = metricsNamespace + "_cache" - workqueueMetricsNamespace = metricsNamespace + "_workqueue" -) +const workqueueMetricsNamespace = metricsNamespace + "_workqueue" var ( // Metrics for client-go's HTTP requests. @@ -49,68 +45,6 @@ var ( []string{"endpoint"}, ) - // Definition of metrics for client-go cache metrics provider. - clientGoCacheListTotalMetric = prometheus.NewCounter( - prometheus.CounterOpts{ - Namespace: cacheMetricsNamespace, - Name: "list_total", - Help: "Total number of list operations.", - }, - ) - clientGoCacheListDurationMetric = prometheus.NewSummary( - prometheus.SummaryOpts{ - Namespace: cacheMetricsNamespace, - Name: "list_duration_seconds", - Help: "Duration of a Kubernetes API call in seconds.", - Objectives: map[float64]float64{}, - }, - ) - clientGoCacheItemsInListCountMetric = prometheus.NewSummary( - prometheus.SummaryOpts{ - Namespace: cacheMetricsNamespace, - Name: "list_items", - Help: "Count of items in a list from the Kubernetes API.", - Objectives: map[float64]float64{}, - }, - ) - clientGoCacheWatchesCountMetric = prometheus.NewCounter( - prometheus.CounterOpts{ - Namespace: cacheMetricsNamespace, - Name: "watches_total", - Help: "Total number of watch operations.", - }, - ) - clientGoCacheShortWatchesCountMetric = prometheus.NewCounter( - prometheus.CounterOpts{ - Namespace: cacheMetricsNamespace, - Name: "short_watches_total", - Help: "Total number of short watch operations.", - }, - ) - clientGoCacheWatchesDurationMetric = prometheus.NewSummary( - prometheus.SummaryOpts{ - Namespace: cacheMetricsNamespace, - Name: "watch_duration_seconds", - Help: "Duration of watches on the Kubernetes API.", - Objectives: map[float64]float64{}, - }, - ) - clientGoCacheItemsInWatchesCountMetric = prometheus.NewSummary( - prometheus.SummaryOpts{ - Namespace: cacheMetricsNamespace, - Name: "watch_events", - Help: "Number of items in watches on the Kubernetes API.", - Objectives: map[float64]float64{}, - }, - ) - clientGoCacheLastResourceVersionMetric = prometheus.NewGauge( - prometheus.GaugeOpts{ - Namespace: cacheMetricsNamespace, - Name: "last_resource_version", - Help: "Last resource version from the Kubernetes API.", - }, - ) - // Definition of metrics for client-go workflow metrics provider clientGoWorkqueueDepthMetricVec = prometheus.NewGaugeVec( prometheus.GaugeOpts{ @@ -189,47 +123,6 @@ func (clientGoRequestMetricAdapter) Observe(verb string, u url.URL, latency time clientGoRequestLatencyMetricVec.WithLabelValues(u.EscapedPath()).Observe(latency.Seconds()) } -// Definition of client-go cache metrics provider definition -type clientGoCacheMetricsProvider struct{} - -func (f *clientGoCacheMetricsProvider) Register(registerer prometheus.Registerer) { - cache.SetReflectorMetricsProvider(f) - registerer.MustRegister( - clientGoCacheWatchesDurationMetric, - clientGoCacheWatchesCountMetric, - clientGoCacheListDurationMetric, - clientGoCacheListTotalMetric, - clientGoCacheLastResourceVersionMetric, - clientGoCacheShortWatchesCountMetric, - clientGoCacheItemsInWatchesCountMetric, - clientGoCacheItemsInListCountMetric, - ) -} -func (clientGoCacheMetricsProvider) NewListsMetric(name string) cache.CounterMetric { - return clientGoCacheListTotalMetric -} -func (clientGoCacheMetricsProvider) NewListDurationMetric(name string) cache.SummaryMetric { - return clientGoCacheListDurationMetric -} -func (clientGoCacheMetricsProvider) NewItemsInListMetric(name string) cache.SummaryMetric { - return clientGoCacheItemsInListCountMetric -} -func (clientGoCacheMetricsProvider) NewWatchesMetric(name string) cache.CounterMetric { - return clientGoCacheWatchesCountMetric -} -func (clientGoCacheMetricsProvider) NewShortWatchesMetric(name string) cache.CounterMetric { - return clientGoCacheShortWatchesCountMetric -} -func (clientGoCacheMetricsProvider) NewWatchDurationMetric(name string) cache.SummaryMetric { - return clientGoCacheWatchesDurationMetric -} -func (clientGoCacheMetricsProvider) NewItemsInWatchMetric(name string) cache.SummaryMetric { - return clientGoCacheItemsInWatchesCountMetric -} -func (clientGoCacheMetricsProvider) NewLastResourceVersionMetric(name string) cache.GaugeMetric { - return clientGoCacheLastResourceVersionMetric -} - // Definition of client-go workqueue metrics provider definition type clientGoWorkqueueMetricsProvider struct{} @@ -252,18 +145,10 @@ func (f *clientGoWorkqueueMetricsProvider) NewAddsMetric(name string) workqueue. return clientGoWorkqueueAddsMetricVec.WithLabelValues(name) } func (f *clientGoWorkqueueMetricsProvider) NewLatencyMetric(name string) workqueue.HistogramMetric { - metric := clientGoWorkqueueLatencyMetricVec.WithLabelValues(name) - // Convert microseconds to seconds for consistency across metrics. - return prometheus.ObserverFunc(func(v float64) { - metric.Observe(v / 1e6) - }) + return clientGoWorkqueueLatencyMetricVec.WithLabelValues(name) } func (f *clientGoWorkqueueMetricsProvider) NewWorkDurationMetric(name string) workqueue.HistogramMetric { - metric := clientGoWorkqueueWorkDurationMetricVec.WithLabelValues(name) - // Convert microseconds to seconds for consistency across metrics. - return prometheus.ObserverFunc(func(v float64) { - metric.Observe(v / 1e6) - }) + return clientGoWorkqueueWorkDurationMetricVec.WithLabelValues(name) } func (f *clientGoWorkqueueMetricsProvider) NewUnfinishedWorkSecondsMetric(name string) workqueue.SettableGaugeMetric { return clientGoWorkqueueUnfinishedWorkSecondsMetricVec.WithLabelValues(name) diff --git a/discovery/kubernetes/kubernetes.go b/discovery/kubernetes/kubernetes.go index ff7750621..f8913c4e6 100644 --- a/discovery/kubernetes/kubernetes.go +++ b/discovery/kubernetes/kubernetes.go @@ -139,12 +139,10 @@ func init() { var ( clientGoRequestMetricAdapterInstance = clientGoRequestMetricAdapter{} - clientGoCacheMetricsProviderInstance = clientGoCacheMetricsProvider{} clientGoWorkqueueMetricsProviderInstance = clientGoWorkqueueMetricsProvider{} ) clientGoRequestMetricAdapterInstance.Register(prometheus.DefaultRegisterer) - clientGoCacheMetricsProviderInstance.Register(prometheus.DefaultRegisterer) clientGoWorkqueueMetricsProviderInstance.Register(prometheus.DefaultRegisterer) }