Skip to content

Commit bab5983

Browse files
committed
Introduce metrics to be used for node server.
1 parent 84e1b15 commit bab5983

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

Diff for: pkg/metrics/metrics.go

+27
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"google.golang.org/grpc/codes"
2626
"k8s.io/component-base/metrics"
2727
"k8s.io/klog/v2"
28+
"k8s.io/mount-utils"
2829
"sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/common"
2930
)
3031

@@ -53,6 +54,15 @@ var (
5354
StabilityLevel: metrics.ALPHA,
5455
},
5556
[]string{"driver_name", "method_name", "grpc_status_code", "disk_type", "enable_confidential_storage", "enable_storage_pools"})
57+
58+
mountErrorMetric = metrics.NewCounterVec(&metrics.CounterOpts{
59+
Subsystem: "node",
60+
Name: "mount_errors",
61+
Help: "Node server file system mounting errors",
62+
StabilityLevel: metrics.ALPHA,
63+
},
64+
[]string{"error_type"},
65+
)
5666
)
5767

5868
type MetricsManager struct {
@@ -78,6 +88,10 @@ func (mm *MetricsManager) RegisterPDCSIMetric() {
7888
mm.registry.MustRegister(pdcsiOperationErrorsMetric)
7989
}
8090

91+
func (mm *MetricsManager) RegisterMountMetric() {
92+
mm.registry.MustRegister(mountErrorMetric)
93+
}
94+
8195
func (mm *MetricsManager) recordComponentVersionMetric() error {
8296
v := getEnvVar(envGKEPDCSIVersion)
8397
if v == "" {
@@ -101,6 +115,19 @@ func (mm *MetricsManager) RecordOperationErrorMetrics(
101115
klog.Infof("Recorded PDCSI operation error code: %q", errCode)
102116
}
103117

118+
func (mm *MetricsManager) RecordMountErrorMetric(err error) {
119+
mntErr := &mount.MountError{}
120+
if errors.As(err, mntErr) {
121+
mountErrorMetric.WithLabelValues(string(mntErr.Type)).Inc()
122+
}
123+
124+
klog.Infof("Recorded mount error type: %q", mntErr.Type)
125+
}
126+
127+
func (mm *MetricsManager) EmmitProcessStartTime() error {
128+
return metrics.RegisterProcessStartTime(mm.registry.Register)
129+
}
130+
104131
func (mm *MetricsManager) EmitGKEComponentVersion() error {
105132
mm.registerComponentVersionMetric()
106133
if err := mm.recordComponentVersionMetric(); err != nil {

0 commit comments

Comments
 (0)