From 54439e934371a3018f49e629cdc68f0944e08af0 Mon Sep 17 00:00:00 2001 From: Abu Kashem Date: Wed, 6 Oct 2021 11:55:12 -0400 Subject: [PATCH] apf: add new label for request_execution_seconds metric --- .../apiserver/pkg/util/flowcontrol/metrics/metrics.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/metrics/metrics.go b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/metrics/metrics.go index cbff5485647..05ffe5708c8 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/metrics/metrics.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/metrics/metrics.go @@ -22,6 +22,7 @@ import ( "sync" "time" + apirequest "k8s.io/apiserver/pkg/endpoints/request" compbasemetrics "k8s.io/component-base/metrics" "k8s.io/component-base/metrics/legacyregistry" basemetricstestutil "k8s.io/component-base/metrics/testutil" @@ -270,7 +271,7 @@ var ( Buckets: requestDurationSecondsBuckets, StabilityLevel: compbasemetrics.ALPHA, }, - []string{priorityLevel, flowSchema}, + []string{priorityLevel, flowSchema, "type"}, ) metrics = Registerables{ apiserverRejectedRequestsTotal, @@ -350,5 +351,9 @@ func ObserveWaitingDuration(ctx context.Context, priorityLevel, flowSchema, exec // ObserveExecutionDuration observes the execution duration for flow control func ObserveExecutionDuration(ctx context.Context, priorityLevel, flowSchema string, executionTime time.Duration) { - apiserverRequestExecutionSeconds.WithContext(ctx).WithLabelValues(priorityLevel, flowSchema).Observe(executionTime.Seconds()) + reqType := "regular" + if requestInfo, ok := apirequest.RequestInfoFrom(ctx); ok && requestInfo.Verb == "watch" { + reqType = requestInfo.Verb + } + apiserverRequestExecutionSeconds.WithContext(ctx).WithLabelValues(priorityLevel, flowSchema, reqType).Observe(executionTime.Seconds()) }