mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
Merge pull request #85289 from serathius/remove-prometheus-controller-endpointslice
Remove prometheus references from pkg/controller/endpointslice
This commit is contained in:
commit
0836b583f7
@ -72,8 +72,7 @@ go_test(
|
||||
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/testing:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
|
||||
"//staging/src/k8s.io/component-base/metrics:go_default_library",
|
||||
"//vendor/github.com/prometheus/client_model/go:go_default_library",
|
||||
"//staging/src/k8s.io/component-base/metrics/testutil:go_default_library",
|
||||
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||
],
|
||||
|
@ -24,7 +24,6 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
dto "github.com/prometheus/client_model/go"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
@ -36,7 +35,7 @@ import (
|
||||
"k8s.io/client-go/kubernetes/fake"
|
||||
corelisters "k8s.io/client-go/listers/core/v1"
|
||||
k8stesting "k8s.io/client-go/testing"
|
||||
compmetrics "k8s.io/component-base/metrics"
|
||||
"k8s.io/component-base/metrics/testutil"
|
||||
"k8s.io/kubernetes/pkg/controller"
|
||||
"k8s.io/kubernetes/pkg/controller/endpointslice/metrics"
|
||||
utilpointer "k8s.io/utils/pointer"
|
||||
@ -884,47 +883,61 @@ type expectedMetrics struct {
|
||||
func expectMetrics(t *testing.T, em expectedMetrics) {
|
||||
t.Helper()
|
||||
|
||||
actualDesiredSlices := getGaugeMetricValue(t, metrics.DesiredEndpointSlices.WithLabelValues())
|
||||
actualDesiredSlices, err := testutil.GetGaugeMetricValue(metrics.DesiredEndpointSlices.WithLabelValues())
|
||||
handleErr(t, err, "desiredEndpointSlices")
|
||||
if actualDesiredSlices != float64(em.desiredSlices) {
|
||||
t.Errorf("Expected desiredEndpointSlices to be %d, got %v", em.desiredSlices, actualDesiredSlices)
|
||||
}
|
||||
|
||||
actualNumSlices := getGaugeMetricValue(t, metrics.NumEndpointSlices.WithLabelValues())
|
||||
actualNumSlices, err := testutil.GetGaugeMetricValue(metrics.NumEndpointSlices.WithLabelValues())
|
||||
handleErr(t, err, "numEndpointSlices")
|
||||
if actualDesiredSlices != float64(em.desiredSlices) {
|
||||
t.Errorf("Expected numEndpointSlices to be %d, got %v", em.actualSlices, actualNumSlices)
|
||||
}
|
||||
|
||||
actualEndpointsDesired := getGaugeMetricValue(t, metrics.EndpointsDesired.WithLabelValues())
|
||||
actualEndpointsDesired, err := testutil.GetGaugeMetricValue(metrics.EndpointsDesired.WithLabelValues())
|
||||
handleErr(t, err, "desiredEndpoints")
|
||||
if actualEndpointsDesired != float64(em.desiredEndpoints) {
|
||||
t.Errorf("Expected desiredEndpoints to be %d, got %v", em.desiredEndpoints, actualEndpointsDesired)
|
||||
}
|
||||
|
||||
actualAddedPerSync := getHistogramMetricValue(t, metrics.EndpointsAddedPerSync.WithLabelValues())
|
||||
actualAddedPerSync, err := testutil.GetHistogramMetricValue(metrics.EndpointsAddedPerSync.WithLabelValues())
|
||||
handleErr(t, err, "endpointsAddedPerSync")
|
||||
if actualAddedPerSync != float64(em.addedPerSync) {
|
||||
t.Errorf("Expected endpointsAddedPerSync to be %d, got %v", em.addedPerSync, actualAddedPerSync)
|
||||
}
|
||||
|
||||
actualRemovedPerSync := getHistogramMetricValue(t, metrics.EndpointsRemovedPerSync.WithLabelValues())
|
||||
actualRemovedPerSync, err := testutil.GetHistogramMetricValue(metrics.EndpointsRemovedPerSync.WithLabelValues())
|
||||
handleErr(t, err, "endpointsRemovedPerSync")
|
||||
if actualRemovedPerSync != float64(em.removedPerSync) {
|
||||
t.Errorf("Expected endpointsRemovedPerSync to be %d, got %v", em.removedPerSync, actualRemovedPerSync)
|
||||
}
|
||||
|
||||
actualCreated := getCounterMetricValue(t, metrics.EndpointSliceChanges.WithLabelValues("create"))
|
||||
actualCreated, err := testutil.GetCounterMetricValue(metrics.EndpointSliceChanges.WithLabelValues("create"))
|
||||
handleErr(t, err, "endpointSliceChangesCreated")
|
||||
if actualCreated != float64(em.numCreated) {
|
||||
t.Errorf("Expected endpointSliceChangesCreated to be %d, got %v", em.numCreated, actualCreated)
|
||||
}
|
||||
|
||||
actualUpdated := getCounterMetricValue(t, metrics.EndpointSliceChanges.WithLabelValues("update"))
|
||||
actualUpdated, err := testutil.GetCounterMetricValue(metrics.EndpointSliceChanges.WithLabelValues("update"))
|
||||
handleErr(t, err, "endpointSliceChangesUpdated")
|
||||
if actualUpdated != float64(em.numUpdated) {
|
||||
t.Errorf("Expected endpointSliceChangesUpdated to be %d, got %v", em.numUpdated, actualUpdated)
|
||||
}
|
||||
|
||||
actualDeleted := getCounterMetricValue(t, metrics.EndpointSliceChanges.WithLabelValues("delete"))
|
||||
actualDeleted, err := testutil.GetCounterMetricValue(metrics.EndpointSliceChanges.WithLabelValues("delete"))
|
||||
handleErr(t, err, "desiredEndpointSlices")
|
||||
if actualDeleted != float64(em.numDeleted) {
|
||||
t.Errorf("Expected endpointSliceChangesDeleted to be %d, got %v", em.numDeleted, actualDeleted)
|
||||
}
|
||||
}
|
||||
|
||||
func handleErr(t *testing.T, err error, metricName string) {
|
||||
if err != nil {
|
||||
t.Errorf("Failed to get %s value, err: %v", metricName, err)
|
||||
}
|
||||
}
|
||||
|
||||
func setupMetrics() {
|
||||
metrics.RegisterMetrics()
|
||||
metrics.NumEndpointSlices.Delete(map[string]string{})
|
||||
@ -936,30 +949,3 @@ func setupMetrics() {
|
||||
metrics.EndpointSliceChanges.Delete(map[string]string{"operation": "update"})
|
||||
metrics.EndpointSliceChanges.Delete(map[string]string{"operation": "delete"})
|
||||
}
|
||||
|
||||
func getGaugeMetricValue(t *testing.T, metric compmetrics.GaugeMetric) float64 {
|
||||
t.Helper()
|
||||
metricProto := &dto.Metric{}
|
||||
if err := metric.Write(metricProto); err != nil {
|
||||
t.Errorf("Error writing metric: %v", err)
|
||||
}
|
||||
return metricProto.Gauge.GetValue()
|
||||
}
|
||||
|
||||
func getCounterMetricValue(t *testing.T, metric compmetrics.CounterMetric) float64 {
|
||||
t.Helper()
|
||||
metricProto := &dto.Metric{}
|
||||
if err := metric.(compmetrics.Metric).Write(metricProto); err != nil {
|
||||
t.Errorf("Error writing metric: %v", err)
|
||||
}
|
||||
return metricProto.Counter.GetValue()
|
||||
}
|
||||
|
||||
func getHistogramMetricValue(t *testing.T, metric compmetrics.ObserverMetric) float64 {
|
||||
t.Helper()
|
||||
metricProto := &dto.Metric{}
|
||||
if err := metric.(compmetrics.Metric).Write(metricProto); err != nil {
|
||||
t.Errorf("Error writing metric: %v", err)
|
||||
}
|
||||
return metricProto.Histogram.GetSampleSum()
|
||||
}
|
||||
|
@ -87,7 +87,6 @@ package_group(
|
||||
name = "prometheus_import_allow_list",
|
||||
packages = [
|
||||
"//cluster/images/etcd-version-monitor",
|
||||
"//pkg/controller/endpointslice",
|
||||
"//pkg/master",
|
||||
"//pkg/scheduler/framework/v1alpha1",
|
||||
"//pkg/volume/util/operationexecutor",
|
||||
|
@ -320,3 +320,30 @@ func (hist *Histogram) Validate() error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetGaugeMetricValue extract metric value from GaugeMetric
|
||||
func GetGaugeMetricValue(m metrics.GaugeMetric) (float64, error) {
|
||||
metricProto := &dto.Metric{}
|
||||
if err := m.Write(metricProto); err != nil {
|
||||
return 0, fmt.Errorf("Error writing m: %v", err)
|
||||
}
|
||||
return metricProto.Gauge.GetValue(), nil
|
||||
}
|
||||
|
||||
// GetCounterMetricValue extract metric value from CounterMetric
|
||||
func GetCounterMetricValue(m metrics.CounterMetric) (float64, error) {
|
||||
metricProto := &dto.Metric{}
|
||||
if err := m.(metrics.Metric).Write(metricProto); err != nil {
|
||||
return 0, fmt.Errorf("Error writing m: %v", err)
|
||||
}
|
||||
return metricProto.Counter.GetValue(), nil
|
||||
}
|
||||
|
||||
// GetHistogramMetricValue extract sum of all samples from ObserverMetric
|
||||
func GetHistogramMetricValue(m metrics.ObserverMetric) (float64, error) {
|
||||
metricProto := &dto.Metric{}
|
||||
if err := m.(metrics.Metric).Write(metricProto); err != nil {
|
||||
return 0, fmt.Errorf("Error writing m: %v", err)
|
||||
}
|
||||
return metricProto.Histogram.GetSampleSum(), nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user