Skip to content

Commit a330ad6

Browse files
Sneha-atk8s-infra-cherrypick-robot
authored and
k8s-infra-cherrypick-robot
committed
emit metrics even for success scenarios
1 parent 245f627 commit a330ad6

File tree

2 files changed

+14
-25
lines changed

2 files changed

+14
-25
lines changed

pkg/gce-pd-csi-driver/controller.go

+8-24
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,7 @@ func (gceCS *GCEControllerServer) CreateVolume(ctx context.Context, req *csi.Cre
197197
var err error
198198
diskTypeForMetric := ""
199199
defer func() {
200-
if err != nil {
201-
gceCS.Metrics.RecordOperationErrorMetrics("CreateVolume", err, diskTypeForMetric)
202-
}
200+
gceCS.Metrics.RecordOperationErrorMetrics("CreateVolume", err, diskTypeForMetric)
203201
}()
204202
// Validate arguments
205203
volumeCapabilities := req.GetVolumeCapabilities()
@@ -431,9 +429,7 @@ func (gceCS *GCEControllerServer) DeleteVolume(ctx context.Context, req *csi.Del
431429
var err error
432430
diskTypeForMetric := ""
433431
defer func() {
434-
if err != nil {
435-
gceCS.Metrics.RecordOperationErrorMetrics("DeleteVolume", err, diskTypeForMetric)
436-
}
432+
gceCS.Metrics.RecordOperationErrorMetrics("DeleteVolume", err, diskTypeForMetric)
437433
}()
438434
// Validate arguments
439435
volumeID := req.GetVolumeId()
@@ -477,9 +473,7 @@ func (gceCS *GCEControllerServer) ControllerPublishVolume(ctx context.Context, r
477473
var err error
478474
diskTypeForMetric := ""
479475
defer func() {
480-
if err != nil {
481-
gceCS.Metrics.RecordOperationErrorMetrics("ControllerPublishVolume", err, diskTypeForMetric)
482-
}
476+
gceCS.Metrics.RecordOperationErrorMetrics("ControllerPublishVolume", err, diskTypeForMetric)
483477
}()
484478
// Only valid requests will be accepted
485479
_, _, err = gceCS.validateControllerPublishVolumeRequest(ctx, req)
@@ -639,9 +633,7 @@ func (gceCS *GCEControllerServer) ControllerUnpublishVolume(ctx context.Context,
639633
var err error
640634
diskTypeForMetric := ""
641635
defer func() {
642-
if err != nil {
643-
gceCS.Metrics.RecordOperationErrorMetrics("ControllerUnpublishVolume", err, diskTypeForMetric)
644-
}
636+
gceCS.Metrics.RecordOperationErrorMetrics("ControllerUnpublishVolume", err, diskTypeForMetric)
645637
}()
646638
_, _, err = gceCS.validateControllerUnpublishVolumeRequest(ctx, req)
647639
if err != nil {
@@ -750,9 +742,7 @@ func (gceCS *GCEControllerServer) ValidateVolumeCapabilities(ctx context.Context
750742
var err error
751743
diskTypeForMetric := ""
752744
defer func() {
753-
if err != nil {
754-
gceCS.Metrics.RecordOperationErrorMetrics("ValidateVolumeCapabilities", err, diskTypeForMetric)
755-
}
745+
gceCS.Metrics.RecordOperationErrorMetrics("ValidateVolumeCapabilities", err, diskTypeForMetric)
756746
}()
757747
if req.GetVolumeCapabilities() == nil || len(req.GetVolumeCapabilities()) == 0 {
758748
return nil, status.Error(codes.InvalidArgument, "Volume Capabilities must be provided")
@@ -909,9 +899,7 @@ func (gceCS *GCEControllerServer) CreateSnapshot(ctx context.Context, req *csi.C
909899
var err error
910900
diskTypeForMetric := ""
911901
defer func() {
912-
if err != nil {
913-
gceCS.Metrics.RecordOperationErrorMetrics("CreateSnapshot", err, diskTypeForMetric)
914-
}
902+
gceCS.Metrics.RecordOperationErrorMetrics("CreateSnapshot", err, diskTypeForMetric)
915903
}()
916904
// Validate arguments
917905
volumeID := req.GetSourceVolumeId()
@@ -1146,9 +1134,7 @@ func (gceCS *GCEControllerServer) DeleteSnapshot(ctx context.Context, req *csi.D
11461134
var err error
11471135
diskTypeForMetric := ""
11481136
defer func() {
1149-
if err != nil {
1150-
gceCS.Metrics.RecordOperationErrorMetrics("DeleteSnapshot", err, diskTypeForMetric)
1151-
}
1137+
gceCS.Metrics.RecordOperationErrorMetrics("DeleteSnapshot", err, diskTypeForMetric)
11521138
}()
11531139
// Validate arguments
11541140
snapshotID := req.GetSnapshotId()
@@ -1237,9 +1223,7 @@ func (gceCS *GCEControllerServer) ControllerExpandVolume(ctx context.Context, re
12371223
var err error
12381224
diskTypeForMetric := ""
12391225
defer func() {
1240-
if err != nil {
1241-
gceCS.Metrics.RecordOperationErrorMetrics("ControllerExpandVolume", err, diskTypeForMetric)
1242-
}
1226+
gceCS.Metrics.RecordOperationErrorMetrics("ControllerExpandVolume", err, diskTypeForMetric)
12431227
}()
12441228
volumeID := req.GetVolumeId()
12451229
if len(volumeID) == 0 {

pkg/metrics/metrics.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"net/http"
2222
"os"
2323

24+
"google.golang.org/grpc/codes"
2425
"k8s.io/component-base/metrics"
2526
"k8s.io/klog/v2"
2627
"sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/common"
@@ -90,7 +91,11 @@ func (mm *MetricsManager) RecordOperationErrorMetrics(
9091
operationName string,
9192
operationErr error,
9293
diskType string) {
93-
pdcsiOperationErrorsMetric.WithLabelValues(pdcsiDriverName, "/csi.v1.Controller/"+operationName, common.CodeForError(operationErr).String(), diskType).Inc()
94+
err := codes.OK.String()
95+
if operationErr != nil {
96+
err = common.CodeForError(operationErr).String()
97+
}
98+
pdcsiOperationErrorsMetric.WithLabelValues(pdcsiDriverName, "/csi.v1.Controller/"+operationName, err, diskType).Inc()
9499
}
95100

96101
func (mm *MetricsManager) EmitGKEComponentVersion() error {

0 commit comments

Comments
 (0)