Skip to content

Commit 0836b58

Browse files
authored
Merge pull request kubernetes#85289 from serathius/remove-prometheus-controller-endpointslice
Remove prometheus references from pkg/controller/endpointslice
2 parents 364c66e + 4ea52da commit 0836b58

File tree

4 files changed

+51
-40
lines changed

4 files changed

+51
-40
lines changed

pkg/controller/endpointslice/BUILD

+1-2
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ go_test(
7272
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
7373
"//staging/src/k8s.io/client-go/testing:go_default_library",
7474
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
75-
"//staging/src/k8s.io/component-base/metrics:go_default_library",
76-
"//vendor/github.com/prometheus/client_model/go:go_default_library",
75+
"//staging/src/k8s.io/component-base/metrics/testutil:go_default_library",
7776
"//vendor/github.com/stretchr/testify/assert:go_default_library",
7877
"//vendor/k8s.io/utils/pointer:go_default_library",
7978
],

pkg/controller/endpointslice/reconciler_test.go

+23-37
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
"testing"
2525
"time"
2626

27-
dto "github.com/prometheus/client_model/go"
2827
"github.com/stretchr/testify/assert"
2928

3029
corev1 "k8s.io/api/core/v1"
@@ -36,7 +35,7 @@ import (
3635
"k8s.io/client-go/kubernetes/fake"
3736
corelisters "k8s.io/client-go/listers/core/v1"
3837
k8stesting "k8s.io/client-go/testing"
39-
compmetrics "k8s.io/component-base/metrics"
38+
"k8s.io/component-base/metrics/testutil"
4039
"k8s.io/kubernetes/pkg/controller"
4140
"k8s.io/kubernetes/pkg/controller/endpointslice/metrics"
4241
utilpointer "k8s.io/utils/pointer"
@@ -884,47 +883,61 @@ type expectedMetrics struct {
884883
func expectMetrics(t *testing.T, em expectedMetrics) {
885884
t.Helper()
886885

887-
actualDesiredSlices := getGaugeMetricValue(t, metrics.DesiredEndpointSlices.WithLabelValues())
886+
actualDesiredSlices, err := testutil.GetGaugeMetricValue(metrics.DesiredEndpointSlices.WithLabelValues())
887+
handleErr(t, err, "desiredEndpointSlices")
888888
if actualDesiredSlices != float64(em.desiredSlices) {
889889
t.Errorf("Expected desiredEndpointSlices to be %d, got %v", em.desiredSlices, actualDesiredSlices)
890890
}
891891

892-
actualNumSlices := getGaugeMetricValue(t, metrics.NumEndpointSlices.WithLabelValues())
892+
actualNumSlices, err := testutil.GetGaugeMetricValue(metrics.NumEndpointSlices.WithLabelValues())
893+
handleErr(t, err, "numEndpointSlices")
893894
if actualDesiredSlices != float64(em.desiredSlices) {
894895
t.Errorf("Expected numEndpointSlices to be %d, got %v", em.actualSlices, actualNumSlices)
895896
}
896897

897-
actualEndpointsDesired := getGaugeMetricValue(t, metrics.EndpointsDesired.WithLabelValues())
898+
actualEndpointsDesired, err := testutil.GetGaugeMetricValue(metrics.EndpointsDesired.WithLabelValues())
899+
handleErr(t, err, "desiredEndpoints")
898900
if actualEndpointsDesired != float64(em.desiredEndpoints) {
899901
t.Errorf("Expected desiredEndpoints to be %d, got %v", em.desiredEndpoints, actualEndpointsDesired)
900902
}
901903

902-
actualAddedPerSync := getHistogramMetricValue(t, metrics.EndpointsAddedPerSync.WithLabelValues())
904+
actualAddedPerSync, err := testutil.GetHistogramMetricValue(metrics.EndpointsAddedPerSync.WithLabelValues())
905+
handleErr(t, err, "endpointsAddedPerSync")
903906
if actualAddedPerSync != float64(em.addedPerSync) {
904907
t.Errorf("Expected endpointsAddedPerSync to be %d, got %v", em.addedPerSync, actualAddedPerSync)
905908
}
906909

907-
actualRemovedPerSync := getHistogramMetricValue(t, metrics.EndpointsRemovedPerSync.WithLabelValues())
910+
actualRemovedPerSync, err := testutil.GetHistogramMetricValue(metrics.EndpointsRemovedPerSync.WithLabelValues())
911+
handleErr(t, err, "endpointsRemovedPerSync")
908912
if actualRemovedPerSync != float64(em.removedPerSync) {
909913
t.Errorf("Expected endpointsRemovedPerSync to be %d, got %v", em.removedPerSync, actualRemovedPerSync)
910914
}
911915

912-
actualCreated := getCounterMetricValue(t, metrics.EndpointSliceChanges.WithLabelValues("create"))
916+
actualCreated, err := testutil.GetCounterMetricValue(metrics.EndpointSliceChanges.WithLabelValues("create"))
917+
handleErr(t, err, "endpointSliceChangesCreated")
913918
if actualCreated != float64(em.numCreated) {
914919
t.Errorf("Expected endpointSliceChangesCreated to be %d, got %v", em.numCreated, actualCreated)
915920
}
916921

917-
actualUpdated := getCounterMetricValue(t, metrics.EndpointSliceChanges.WithLabelValues("update"))
922+
actualUpdated, err := testutil.GetCounterMetricValue(metrics.EndpointSliceChanges.WithLabelValues("update"))
923+
handleErr(t, err, "endpointSliceChangesUpdated")
918924
if actualUpdated != float64(em.numUpdated) {
919925
t.Errorf("Expected endpointSliceChangesUpdated to be %d, got %v", em.numUpdated, actualUpdated)
920926
}
921927

922-
actualDeleted := getCounterMetricValue(t, metrics.EndpointSliceChanges.WithLabelValues("delete"))
928+
actualDeleted, err := testutil.GetCounterMetricValue(metrics.EndpointSliceChanges.WithLabelValues("delete"))
929+
handleErr(t, err, "desiredEndpointSlices")
923930
if actualDeleted != float64(em.numDeleted) {
924931
t.Errorf("Expected endpointSliceChangesDeleted to be %d, got %v", em.numDeleted, actualDeleted)
925932
}
926933
}
927934

935+
func handleErr(t *testing.T, err error, metricName string) {
936+
if err != nil {
937+
t.Errorf("Failed to get %s value, err: %v", metricName, err)
938+
}
939+
}
940+
928941
func setupMetrics() {
929942
metrics.RegisterMetrics()
930943
metrics.NumEndpointSlices.Delete(map[string]string{})
@@ -936,30 +949,3 @@ func setupMetrics() {
936949
metrics.EndpointSliceChanges.Delete(map[string]string{"operation": "update"})
937950
metrics.EndpointSliceChanges.Delete(map[string]string{"operation": "delete"})
938951
}
939-
940-
func getGaugeMetricValue(t *testing.T, metric compmetrics.GaugeMetric) float64 {
941-
t.Helper()
942-
metricProto := &dto.Metric{}
943-
if err := metric.Write(metricProto); err != nil {
944-
t.Errorf("Error writing metric: %v", err)
945-
}
946-
return metricProto.Gauge.GetValue()
947-
}
948-
949-
func getCounterMetricValue(t *testing.T, metric compmetrics.CounterMetric) float64 {
950-
t.Helper()
951-
metricProto := &dto.Metric{}
952-
if err := metric.(compmetrics.Metric).Write(metricProto); err != nil {
953-
t.Errorf("Error writing metric: %v", err)
954-
}
955-
return metricProto.Counter.GetValue()
956-
}
957-
958-
func getHistogramMetricValue(t *testing.T, metric compmetrics.ObserverMetric) float64 {
959-
t.Helper()
960-
metricProto := &dto.Metric{}
961-
if err := metric.(compmetrics.Metric).Write(metricProto); err != nil {
962-
t.Errorf("Error writing metric: %v", err)
963-
}
964-
return metricProto.Histogram.GetSampleSum()
965-
}

staging/src/k8s.io/component-base/metrics/BUILD

-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ package_group(
8787
name = "prometheus_import_allow_list",
8888
packages = [
8989
"//cluster/images/etcd-version-monitor",
90-
"//pkg/controller/endpointslice",
9190
"//pkg/master",
9291
"//pkg/scheduler/framework/v1alpha1",
9392
"//pkg/volume/util/operationexecutor",

staging/src/k8s.io/component-base/metrics/testutil/metrics.go

+27
Original file line numberDiff line numberDiff line change
@@ -320,3 +320,30 @@ func (hist *Histogram) Validate() error {
320320

321321
return nil
322322
}
323+
324+
// GetGaugeMetricValue extract metric value from GaugeMetric
325+
func GetGaugeMetricValue(m metrics.GaugeMetric) (float64, error) {
326+
metricProto := &dto.Metric{}
327+
if err := m.Write(metricProto); err != nil {
328+
return 0, fmt.Errorf("Error writing m: %v", err)
329+
}
330+
return metricProto.Gauge.GetValue(), nil
331+
}
332+
333+
// GetCounterMetricValue extract metric value from CounterMetric
334+
func GetCounterMetricValue(m metrics.CounterMetric) (float64, error) {
335+
metricProto := &dto.Metric{}
336+
if err := m.(metrics.Metric).Write(metricProto); err != nil {
337+
return 0, fmt.Errorf("Error writing m: %v", err)
338+
}
339+
return metricProto.Counter.GetValue(), nil
340+
}
341+
342+
// GetHistogramMetricValue extract sum of all samples from ObserverMetric
343+
func GetHistogramMetricValue(m metrics.ObserverMetric) (float64, error) {
344+
metricProto := &dto.Metric{}
345+
if err := m.(metrics.Metric).Write(metricProto); err != nil {
346+
return 0, fmt.Errorf("Error writing m: %v", err)
347+
}
348+
return metricProto.Histogram.GetSampleSum(), nil
349+
}

0 commit comments

Comments
 (0)