Skip to content

Commit eabdae2

Browse files
committed
Add leader election, work-queue, process, and Go runtime metrics
1 parent ba554e3 commit eabdae2

File tree

8 files changed

+242
-11
lines changed

8 files changed

+242
-11
lines changed

cmd/csi-snapshotter/main.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ import (
4949
controller "github.com/kubernetes-csi/external-snapshotter/v8/pkg/sidecar-controller"
5050
"github.com/kubernetes-csi/external-snapshotter/v8/pkg/snapshotter"
5151
utilflag "k8s.io/component-base/cli/flag"
52+
"k8s.io/component-base/metrics/legacyregistry"
53+
_ "k8s.io/component-base/metrics/prometheus/clientgo/leaderelection" // register leader election in the default legacy registry
54+
_ "k8s.io/component-base/metrics/prometheus/workqueue" // register work queues in the default legacy registry
5255

5356
clientset "github.com/kubernetes-csi/external-snapshotter/client/v8/clientset/versioned"
5457
snapshotscheme "github.com/kubernetes-csi/external-snapshotter/client/v8/clientset/versioned/scheme"
@@ -201,6 +204,10 @@ func main() {
201204

202205
klog.V(2).Infof("CSI driver name: %q", driverName)
203206

207+
// Add default legacy registry so that metrics manager serves Go runtime and process metrics.
208+
// Also registers the `k8s.io/component-base/` work queue and leader election metrics we anonymously import.
209+
metricsManager.WithAdditionalRegistry(legacyregistry.DefaultGatherer)
210+
204211
// Prepare http endpoint for metrics + leader election healthz
205212
mux := http.NewServeMux()
206213
if addr != "" {

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
github.com/container-storage-interface/spec v1.11.0
77
github.com/evanphx/json-patch v5.9.0+incompatible
88
github.com/golang/mock v1.6.0
9-
github.com/kubernetes-csi/csi-lib-utils v0.20.0
9+
github.com/kubernetes-csi/csi-lib-utils v0.21.0
1010
github.com/kubernetes-csi/csi-test/v5 v5.3.1
1111
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.2.0
1212
github.com/prometheus/client_golang v1.20.5

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
6363
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
6464
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6565
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
66-
github.com/kubernetes-csi/csi-lib-utils v0.20.0 h1:JTvHRJugn+cByMnIU4nCnqPqOOUhuPzhlLqRvenwjDA=
67-
github.com/kubernetes-csi/csi-lib-utils v0.20.0/go.mod h1:3b/HFVURW11oxV/gUAKyhhkvFpxXO/zRdvh1wdEfCZY=
66+
github.com/kubernetes-csi/csi-lib-utils v0.21.0 h1:dUN/iIgXLucAxyML2iPyhniIlACQumIeAJmIzsMBddc=
67+
github.com/kubernetes-csi/csi-lib-utils v0.21.0/go.mod h1:ZCVRTYuup+bwX9tOeE5Q3LDw64QvltSwMUQ3M3g2T+Q=
6868
github.com/kubernetes-csi/csi-test/v5 v5.3.1 h1:Wiukp1In+kif+BFo6q2ExjgB+MbrAz4jZWzGfijypuY=
6969
github.com/kubernetes-csi/csi-test/v5 v5.3.1/go.mod h1:7hA2cSYJ6T8CraEZPA6zqkLZwemjBD54XAnPsPC3VpA=
7070
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=

vendor/github.com/kubernetes-csi/csi-lib-utils/metrics/metrics.go

Lines changed: 19 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/kubernetes-csi/csi-lib-utils/protosanitizer/protosanitizer.go

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/component-base/metrics/prometheus/clientgo/leaderelection/metrics.go

Lines changed: 68 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/component-base/metrics/prometheus/workqueue/metrics.go

Lines changed: 137 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ github.com/klauspost/compress/internal/cpuinfo
9090
github.com/klauspost/compress/internal/snapref
9191
github.com/klauspost/compress/zstd
9292
github.com/klauspost/compress/zstd/internal/xxhash
93-
# github.com/kubernetes-csi/csi-lib-utils v0.20.0
93+
# github.com/kubernetes-csi/csi-lib-utils v0.21.0
9494
## explicit; go 1.23.1
9595
github.com/kubernetes-csi/csi-lib-utils/connection
9696
github.com/kubernetes-csi/csi-lib-utils/leaderelection
@@ -793,7 +793,9 @@ k8s.io/component-base/cli/flag
793793
k8s.io/component-base/featuregate
794794
k8s.io/component-base/metrics
795795
k8s.io/component-base/metrics/legacyregistry
796+
k8s.io/component-base/metrics/prometheus/clientgo/leaderelection
796797
k8s.io/component-base/metrics/prometheus/feature
798+
k8s.io/component-base/metrics/prometheus/workqueue
797799
k8s.io/component-base/metrics/prometheusextension
798800
k8s.io/component-base/version
799801
# k8s.io/component-helpers v0.32.0

0 commit comments

Comments
 (0)