diff --git a/pkg/kubelet/kuberuntime/instrumented_services_test.go b/pkg/kubelet/kuberuntime/instrumented_services_test.go index d027414b650..7919c552890 100644 --- a/pkg/kubelet/kuberuntime/instrumented_services_test.go +++ b/pkg/kubelet/kuberuntime/instrumented_services_test.go @@ -24,15 +24,21 @@ import ( "github.com/stretchr/testify/assert" - "k8s.io/component-base/metrics/legacyregistry" + compbasemetrics "k8s.io/component-base/metrics" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1alpha2" "k8s.io/kubernetes/pkg/kubelet/metrics" ) func TestRecordOperation(t *testing.T) { - legacyregistry.MustRegister(metrics.RuntimeOperations) - legacyregistry.MustRegister(metrics.RuntimeOperationsDuration) - legacyregistry.MustRegister(metrics.RuntimeOperationsErrors) + // Use local registry + var registry = compbasemetrics.NewKubeRegistry() + var gather compbasemetrics.Gatherer = registry + + registry.MustRegister(metrics.RuntimeOperations) + registry.MustRegister(metrics.RuntimeOperationsDuration) + registry.MustRegister(metrics.RuntimeOperationsErrors) + + registry.Reset() l, err := net.Listen("tcp", "127.0.0.1:0") assert.NoError(t, err) @@ -40,8 +46,8 @@ func TestRecordOperation(t *testing.T) { prometheusURL := "http://" + l.Addr().String() + "/metrics" mux := http.NewServeMux() - //lint:ignore SA1019 ignore deprecated warning until we move off of global registries - mux.Handle("/metrics", legacyregistry.Handler()) + handler := compbasemetrics.HandlerFor(gather, compbasemetrics.HandlerOpts{}) + mux.Handle("/metrics", handler) server := &http.Server{ Addr: l.Addr().String(), Handler: mux, diff --git a/staging/src/k8s.io/component-base/metrics/testutil/metrics_test.go b/staging/src/k8s.io/component-base/metrics/testutil/metrics_test.go index 3ee3a28736e..c289b6a4902 100644 --- a/staging/src/k8s.io/component-base/metrics/testutil/metrics_test.go +++ b/staging/src/k8s.io/component-base/metrics/testutil/metrics_test.go @@ -20,13 +20,11 @@ import ( "fmt" "math" "reflect" - "sync" "testing" "github.com/google/go-cmp/cmp" dto "github.com/prometheus/client_model/go" "k8s.io/component-base/metrics" - "k8s.io/component-base/metrics/legacyregistry" "k8s.io/utils/pointer" ) @@ -517,7 +515,6 @@ func TestHistogramVec_Validate(t *testing.T) { } func TestGetHistogramVecFromGatherer(t *testing.T) { - var registerMetrics sync.Once tests := []struct { name string lvMap map[string]string @@ -576,16 +573,17 @@ func TestGetHistogramVecFromGatherer(t *testing.T) { Buckets: buckets, } vec := metrics.NewHistogramVec(HistogramOpts, labels) - registerMetrics.Do(func() { - legacyregistry.MustRegister(vec) - }) + // Use local registry + var registry = metrics.NewKubeRegistry() + var gather metrics.Gatherer = registry + registry.MustRegister(vec) // Observe two metrics with same value for label1 but different value of label2. vec.WithLabelValues("value1-0", "value2-0").Observe(1.5) vec.WithLabelValues("value1-0", "value2-1").Observe(2.5) vec.WithLabelValues("value1-1", "value2-0").Observe(3.5) vec.WithLabelValues("value1-1", "value2-1").Observe(4.5) metricName := fmt.Sprintf("%s_%s_%s", HistogramOpts.Namespace, HistogramOpts.Subsystem, HistogramOpts.Name) - histogramVec, _ := GetHistogramVecFromGatherer(legacyregistry.DefaultGatherer, metricName, tt.lvMap) + histogramVec, _ := GetHistogramVecFromGatherer(gather, metricName, tt.lvMap) if diff := cmp.Diff(tt.wantVec, histogramVec); diff != "" { t.Errorf("Got unexpected HistogramVec (-want +got):\n%s", diff) }