migrate controller-manager metrics to stability framework

This commit is contained in:
Han Kang
2019-08-22 17:40:36 -07:00
parent bdfc8f62b4
commit 59db3ac27e
29 changed files with 184 additions and 140 deletions

View File

@@ -12,6 +12,8 @@ go_library(
"//pkg/volume/util:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
"//staging/src/k8s.io/component-base/metrics:go_default_library",
"//staging/src/k8s.io/component-base/metrics/legacyregistry:go_default_library",
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
],

View File

@@ -20,8 +20,11 @@ import (
"sync"
"github.com/prometheus/client_golang/prometheus"
"k8s.io/apimachinery/pkg/labels"
corelisters "k8s.io/client-go/listers/core/v1"
"k8s.io/component-base/metrics"
"k8s.io/component-base/metrics/legacyregistry"
"k8s.io/klog"
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache"
"k8s.io/kubernetes/pkg/controller/volume/attachdetach/util"
@@ -42,10 +45,12 @@ var (
"Number of volumes in A/D Controller",
[]string{"plugin_name", "state"}, nil)
forcedDetachMetricCounter = prometheus.NewCounter(
prometheus.CounterOpts{
Name: "attachdetach_controller_forced_detaches",
Help: "Number of times the A/D Controller performed a forced detach"})
forcedDetachMetricCounter = metrics.NewCounter(
&metrics.CounterOpts{
Name: "attachdetach_controller_forced_detaches",
Help: "Number of times the A/D Controller performed a forced detach",
StabilityLevel: metrics.ALPHA,
})
)
var registerMetrics sync.Once
@@ -57,13 +62,13 @@ func Register(pvcLister corelisters.PersistentVolumeClaimLister,
dsw cache.DesiredStateOfWorld,
pluginMgr *volume.VolumePluginMgr) {
registerMetrics.Do(func() {
prometheus.MustRegister(newAttachDetachStateCollector(pvcLister,
legacyregistry.RawMustRegister(newAttachDetachStateCollector(pvcLister,
podLister,
pvLister,
asw,
dsw,
pluginMgr))
prometheus.MustRegister(forcedDetachMetricCounter)
legacyregistry.MustRegister(forcedDetachMetricCounter)
})
}

View File

@@ -8,6 +8,8 @@ go_library(
deps = [
"//pkg/volume/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/component-base/metrics:go_default_library",
"//staging/src/k8s.io/component-base/metrics/legacyregistry:go_default_library",
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
],

View File

@@ -21,7 +21,10 @@ import (
"time"
"github.com/prometheus/client_golang/prometheus"
v1 "k8s.io/api/core/v1"
"k8s.io/component-base/metrics"
"k8s.io/component-base/metrics/legacyregistry"
"k8s.io/klog"
metricutil "k8s.io/kubernetes/pkg/volume/util"
)
@@ -56,8 +59,8 @@ type PVCLister interface {
// Register all metrics for pv controller.
func Register(pvLister PVLister, pvcLister PVCLister) {
registerMetrics.Do(func() {
prometheus.MustRegister(newPVAndPVCCountCollector(pvLister, pvcLister))
prometheus.MustRegister(volumeOperationErrorsMetric)
legacyregistry.RawMustRegister(newPVAndPVCCountCollector(pvLister, pvcLister))
legacyregistry.MustRegister(volumeOperationErrorsMetric)
})
}
@@ -92,10 +95,11 @@ var (
"Gauge measuring number of persistent volume claim currently unbound",
[]string{namespaceLabel}, nil)
volumeOperationErrorsMetric = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "volume_operation_total_errors",
Help: "Total volume operation erros",
volumeOperationErrorsMetric = metrics.NewCounterVec(
&metrics.CounterOpts{
Name: "volume_operation_total_errors",
Help: "Total volume operation erros",
StabilityLevel: metrics.ALPHA,
},
[]string{"plugin_name", "operation_name"})
)