mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +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/listers/core/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/testing: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/client-go/tools/cache:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/metrics:go_default_library",
|
"//staging/src/k8s.io/component-base/metrics/testutil:go_default_library",
|
||||||
"//vendor/github.com/prometheus/client_model/go:go_default_library",
|
|
||||||
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
||||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -24,7 +24,6 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
dto "github.com/prometheus/client_model/go"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
@ -36,7 +35,7 @@ import (
|
|||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
corelisters "k8s.io/client-go/listers/core/v1"
|
corelisters "k8s.io/client-go/listers/core/v1"
|
||||||
k8stesting "k8s.io/client-go/testing"
|
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"
|
||||||
"k8s.io/kubernetes/pkg/controller/endpointslice/metrics"
|
"k8s.io/kubernetes/pkg/controller/endpointslice/metrics"
|
||||||
utilpointer "k8s.io/utils/pointer"
|
utilpointer "k8s.io/utils/pointer"
|
||||||
@ -884,47 +883,61 @@ type expectedMetrics struct {
|
|||||||
func expectMetrics(t *testing.T, em expectedMetrics) {
|
func expectMetrics(t *testing.T, em expectedMetrics) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
actualDesiredSlices := getGaugeMetricValue(t, metrics.DesiredEndpointSlices.WithLabelValues())
|
actualDesiredSlices, err := testutil.GetGaugeMetricValue(metrics.DesiredEndpointSlices.WithLabelValues())
|
||||||
|
handleErr(t, err, "desiredEndpointSlices")
|
||||||
if actualDesiredSlices != float64(em.desiredSlices) {
|
if actualDesiredSlices != float64(em.desiredSlices) {
|
||||||
t.Errorf("Expected desiredEndpointSlices to be %d, got %v", em.desiredSlices, actualDesiredSlices)
|
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) {
|
if actualDesiredSlices != float64(em.desiredSlices) {
|
||||||
t.Errorf("Expected numEndpointSlices to be %d, got %v", em.actualSlices, actualNumSlices)
|
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) {
|
if actualEndpointsDesired != float64(em.desiredEndpoints) {
|
||||||
t.Errorf("Expected desiredEndpoints to be %d, got %v", em.desiredEndpoints, actualEndpointsDesired)
|
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) {
|
if actualAddedPerSync != float64(em.addedPerSync) {
|
||||||
t.Errorf("Expected endpointsAddedPerSync to be %d, got %v", em.addedPerSync, actualAddedPerSync)
|
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) {
|
if actualRemovedPerSync != float64(em.removedPerSync) {
|
||||||
t.Errorf("Expected endpointsRemovedPerSync to be %d, got %v", em.removedPerSync, actualRemovedPerSync)
|
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) {
|
if actualCreated != float64(em.numCreated) {
|
||||||
t.Errorf("Expected endpointSliceChangesCreated to be %d, got %v", em.numCreated, actualCreated)
|
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) {
|
if actualUpdated != float64(em.numUpdated) {
|
||||||
t.Errorf("Expected endpointSliceChangesUpdated to be %d, got %v", em.numUpdated, actualUpdated)
|
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) {
|
if actualDeleted != float64(em.numDeleted) {
|
||||||
t.Errorf("Expected endpointSliceChangesDeleted to be %d, got %v", em.numDeleted, actualDeleted)
|
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() {
|
func setupMetrics() {
|
||||||
metrics.RegisterMetrics()
|
metrics.RegisterMetrics()
|
||||||
metrics.NumEndpointSlices.Delete(map[string]string{})
|
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": "update"})
|
||||||
metrics.EndpointSliceChanges.Delete(map[string]string{"operation": "delete"})
|
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",
|
name = "prometheus_import_allow_list",
|
||||||
packages = [
|
packages = [
|
||||||
"//cluster/images/etcd-version-monitor",
|
"//cluster/images/etcd-version-monitor",
|
||||||
"//pkg/controller/endpointslice",
|
|
||||||
"//pkg/master",
|
"//pkg/master",
|
||||||
"//pkg/scheduler/framework/v1alpha1",
|
"//pkg/scheduler/framework/v1alpha1",
|
||||||
"//pkg/volume/util/operationexecutor",
|
"//pkg/volume/util/operationexecutor",
|
||||||
|
@ -320,3 +320,30 @@ func (hist *Histogram) Validate() error {
|
|||||||
|
|
||||||
return nil
|
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