From 3e9cf26f11c71bcc4ac20b58780778910ead8c9d Mon Sep 17 00:00:00 2001 From: Matthew Cary Date: Fri, 12 Feb 2021 14:21:24 -0800 Subject: [PATCH] Restore volume operation error metric, and mark it and related metric for deprecation Change-Id: I3f559e34637c28999ee9e708a832e16b1764887d --- pkg/volume/util/metrics.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/volume/util/metrics.go b/pkg/volume/util/metrics.go index efdd2256377..b1bfa0e4daf 100644 --- a/pkg/volume/util/metrics.go +++ b/pkg/volume/util/metrics.go @@ -50,10 +50,19 @@ var storageOperationMetric = metrics.NewHistogramVec( []string{"volume_plugin", "operation_name", "status"}, ) +var storageOperationErrorMetric = metrics.NewCounterVec( + &metrics.CounterOpts{ + Name: "storage_operation_errors_total", + Help: "Storage operation errors (Deprecated since 1.21.0)", + StabilityLevel: metrics.ALPHA, + }, + []string{"volume_plugin", "operation_name"}, +) + var storageOperationStatusMetric = metrics.NewCounterVec( &metrics.CounterOpts{ Name: "storage_operation_status_count", - Help: "Storage operation return statuses count", + Help: "Storage operation return statuses count (Deprecated since 1.21.0)", StabilityLevel: metrics.ALPHA, }, []string{"volume_plugin", "operation_name", "status"}, @@ -77,6 +86,7 @@ func registerMetrics() { // legacyregistry is the internal k8s wrapper around the prometheus // global registry, used specifically for metric stability enforcement legacyregistry.MustRegister(storageOperationMetric) + legacyregistry.MustRegister(storageOperationErrorMetric) legacyregistry.MustRegister(storageOperationStatusMetric) legacyregistry.MustRegister(storageOperationEndToEndLatencyMetric) } @@ -92,6 +102,7 @@ func OperationCompleteHook(plugin, operationName string) func(*error) { // TODO: Establish well-known error codes to be able to distinguish // user configuration errors from system errors. status = statusFailUnknown + storageOperationErrorMetric.WithLabelValues(plugin, operationName).Inc() } storageOperationMetric.WithLabelValues(plugin, operationName, status).Observe(timeTaken) storageOperationStatusMetric.WithLabelValues(plugin, operationName, status).Inc()