diff --git a/staging/src/k8s.io/component-base/metrics/counter.go b/staging/src/k8s.io/component-base/metrics/counter.go index 3ed920c3ae3..8a7dd71541c 100644 --- a/staging/src/k8s.io/component-base/metrics/counter.go +++ b/staging/src/k8s.io/component-base/metrics/counter.go @@ -18,6 +18,7 @@ package metrics import ( "context" + "sync" "github.com/blang/semver/v4" "github.com/prometheus/client_golang/prometheus" @@ -273,6 +274,13 @@ func (v *CounterVec) Reset() { v.CounterVec.Reset() } +// ResetLabelAllowLists resets the label allow list for the CounterVec. +// NOTE: This should only be used in test. +func (v *CounterVec) ResetLabelAllowLists() { + v.initializeLabelAllowListsOnce = sync.Once{} + v.LabelValueAllowLists = nil +} + // WithContext returns wrapped CounterVec with context func (v *CounterVec) WithContext(ctx context.Context) *CounterVecWithContext { return &CounterVecWithContext{ diff --git a/staging/src/k8s.io/component-base/metrics/gauge.go b/staging/src/k8s.io/component-base/metrics/gauge.go index ac33897f708..0621560d0cf 100644 --- a/staging/src/k8s.io/component-base/metrics/gauge.go +++ b/staging/src/k8s.io/component-base/metrics/gauge.go @@ -18,6 +18,7 @@ package metrics import ( "context" + "sync" "github.com/blang/semver/v4" "github.com/prometheus/client_golang/prometheus" @@ -239,6 +240,13 @@ func (v *GaugeVec) Reset() { v.GaugeVec.Reset() } +// ResetLabelAllowLists resets the label allow list for the GaugeVec. +// NOTE: This should only be used in test. +func (v *GaugeVec) ResetLabelAllowLists() { + v.initializeLabelAllowListsOnce = sync.Once{} + v.LabelValueAllowLists = nil +} + func newGaugeFunc(opts *GaugeOpts, function func() float64, v semver.Version) GaugeFunc { g := NewGauge(opts) diff --git a/staging/src/k8s.io/component-base/metrics/histogram.go b/staging/src/k8s.io/component-base/metrics/histogram.go index 4f839634d11..3065486ab41 100644 --- a/staging/src/k8s.io/component-base/metrics/histogram.go +++ b/staging/src/k8s.io/component-base/metrics/histogram.go @@ -18,6 +18,7 @@ package metrics import ( "context" + "sync" "github.com/blang/semver/v4" "github.com/prometheus/client_golang/prometheus" @@ -241,6 +242,13 @@ func (v *HistogramVec) Reset() { v.HistogramVec.Reset() } +// ResetLabelAllowLists resets the label allow list for the HistogramVec. +// NOTE: This should only be used in test. +func (v *HistogramVec) ResetLabelAllowLists() { + v.initializeLabelAllowListsOnce = sync.Once{} + v.LabelValueAllowLists = nil +} + // WithContext returns wrapped HistogramVec with context func (v *HistogramVec) WithContext(ctx context.Context) *HistogramVecWithContext { return &HistogramVecWithContext{ diff --git a/staging/src/k8s.io/component-base/metrics/summary.go b/staging/src/k8s.io/component-base/metrics/summary.go index 57b60338372..f1af1217589 100644 --- a/staging/src/k8s.io/component-base/metrics/summary.go +++ b/staging/src/k8s.io/component-base/metrics/summary.go @@ -18,6 +18,7 @@ package metrics import ( "context" + "sync" "github.com/blang/semver/v4" "github.com/prometheus/client_golang/prometheus" @@ -214,6 +215,13 @@ func (v *SummaryVec) Reset() { v.SummaryVec.Reset() } +// ResetLabelAllowLists resets the label allow list for the SummaryVec. +// NOTE: This should only be used in test. +func (v *SummaryVec) ResetLabelAllowLists() { + v.initializeLabelAllowListsOnce = sync.Once{} + v.LabelValueAllowLists = nil +} + // WithContext returns wrapped SummaryVec with context func (v *SummaryVec) WithContext(ctx context.Context) *SummaryVecWithContext { return &SummaryVecWithContext{ diff --git a/staging/src/k8s.io/component-base/metrics/timing_histogram.go b/staging/src/k8s.io/component-base/metrics/timing_histogram.go index 08751ecbb2b..4fc75747395 100644 --- a/staging/src/k8s.io/component-base/metrics/timing_histogram.go +++ b/staging/src/k8s.io/component-base/metrics/timing_histogram.go @@ -18,6 +18,7 @@ package metrics import ( "context" + "sync" "time" "github.com/blang/semver/v4" @@ -267,6 +268,13 @@ func (v *TimingHistogramVec) Reset() { v.TimingHistogramVec.Reset() } +// ResetLabelAllowLists resets the label allow list for the TimingHistogramVec. +// NOTE: This should only be used in test. +func (v *TimingHistogramVec) ResetLabelAllowLists() { + v.initializeLabelAllowListsOnce = sync.Once{} + v.LabelValueAllowLists = nil +} + // WithContext returns wrapped TimingHistogramVec with context func (v *TimingHistogramVec) InterfaceWithContext(ctx context.Context) GaugeVecMetric { return &TimingHistogramVecWithContext{