Skip to content

Commit ff60bc6

Browse files
authored
Merge pull request #1295 from k8s-infra-cherrypick-robot/cherry-pick-1287-to-release-1.10
[release-1.10] emit metrics even for success scenarios
2 parents 5a2d463 + 6d25288 commit ff60bc6

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
@@ -205,9 +205,7 @@ func (gceCS *GCEControllerServer) CreateVolume(ctx context.Context, req *csi.Cre
205205
var err error
206206
diskTypeForMetric := ""
207207
defer func() {
208-
if err != nil {
209-
gceCS.Metrics.RecordOperationErrorMetrics("CreateVolume", err, diskTypeForMetric)
210-
}
208+
gceCS.Metrics.RecordOperationErrorMetrics("CreateVolume", err, diskTypeForMetric)
211209
}()
212210
// Validate arguments
213211
volumeCapabilities := req.GetVolumeCapabilities()
@@ -444,9 +442,7 @@ func (gceCS *GCEControllerServer) DeleteVolume(ctx context.Context, req *csi.Del
444442
var err error
445443
diskTypeForMetric := ""
446444
defer func() {
447-
if err != nil {
448-
gceCS.Metrics.RecordOperationErrorMetrics("DeleteVolume", err, diskTypeForMetric)
449-
}
445+
gceCS.Metrics.RecordOperationErrorMetrics("DeleteVolume", err, diskTypeForMetric)
450446
}()
451447
// Validate arguments
452448
volumeID := req.GetVolumeId()
@@ -490,9 +486,7 @@ func (gceCS *GCEControllerServer) ControllerPublishVolume(ctx context.Context, r
490486
var err error
491487
diskTypeForMetric := ""
492488
defer func() {
493-
if err != nil {
494-
gceCS.Metrics.RecordOperationErrorMetrics("ControllerPublishVolume", err, diskTypeForMetric)
495-
}
489+
gceCS.Metrics.RecordOperationErrorMetrics("ControllerPublishVolume", err, diskTypeForMetric)
496490
}()
497491
// Only valid requests will be accepted
498492
_, _, _, err = gceCS.validateControllerPublishVolumeRequest(ctx, req)
@@ -657,9 +651,7 @@ func (gceCS *GCEControllerServer) ControllerUnpublishVolume(ctx context.Context,
657651
var err error
658652
diskTypeForMetric := ""
659653
defer func() {
660-
if err != nil {
661-
gceCS.Metrics.RecordOperationErrorMetrics("ControllerUnpublishVolume", err, diskTypeForMetric)
662-
}
654+
gceCS.Metrics.RecordOperationErrorMetrics("ControllerUnpublishVolume", err, diskTypeForMetric)
663655
}()
664656
_, _, err = gceCS.validateControllerUnpublishVolumeRequest(ctx, req)
665657
if err != nil {
@@ -768,9 +760,7 @@ func (gceCS *GCEControllerServer) ValidateVolumeCapabilities(ctx context.Context
768760
var err error
769761
diskTypeForMetric := ""
770762
defer func() {
771-
if err != nil {
772-
gceCS.Metrics.RecordOperationErrorMetrics("ValidateVolumeCapabilities", err, diskTypeForMetric)
773-
}
763+
gceCS.Metrics.RecordOperationErrorMetrics("ValidateVolumeCapabilities", err, diskTypeForMetric)
774764
}()
775765
if req.GetVolumeCapabilities() == nil || len(req.GetVolumeCapabilities()) == 0 {
776766
return nil, status.Error(codes.InvalidArgument, "Volume Capabilities must be provided")
@@ -922,9 +912,7 @@ func (gceCS *GCEControllerServer) CreateSnapshot(ctx context.Context, req *csi.C
922912
var err error
923913
diskTypeForMetric := ""
924914
defer func() {
925-
if err != nil {
926-
gceCS.Metrics.RecordOperationErrorMetrics("CreateSnapshot", err, diskTypeForMetric)
927-
}
915+
gceCS.Metrics.RecordOperationErrorMetrics("CreateSnapshot", err, diskTypeForMetric)
928916
}()
929917
// Validate arguments
930918
volumeID := req.GetSourceVolumeId()
@@ -1159,9 +1147,7 @@ func (gceCS *GCEControllerServer) DeleteSnapshot(ctx context.Context, req *csi.D
11591147
var err error
11601148
diskTypeForMetric := ""
11611149
defer func() {
1162-
if err != nil {
1163-
gceCS.Metrics.RecordOperationErrorMetrics("DeleteSnapshot", err, diskTypeForMetric)
1164-
}
1150+
gceCS.Metrics.RecordOperationErrorMetrics("DeleteSnapshot", err, diskTypeForMetric)
11651151
}()
11661152
// Validate arguments
11671153
snapshotID := req.GetSnapshotId()
@@ -1250,9 +1236,7 @@ func (gceCS *GCEControllerServer) ControllerExpandVolume(ctx context.Context, re
12501236
var err error
12511237
diskTypeForMetric := ""
12521238
defer func() {
1253-
if err != nil {
1254-
gceCS.Metrics.RecordOperationErrorMetrics("ControllerExpandVolume", err, diskTypeForMetric)
1255-
}
1239+
gceCS.Metrics.RecordOperationErrorMetrics("ControllerExpandVolume", err, diskTypeForMetric)
12561240
}()
12571241
volumeID := req.GetVolumeId()
12581242
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)