From 0bb419b1498a664d1dda3b487e9f15fd220ea363 Mon Sep 17 00:00:00 2001 From: Andrew Sy Kim Date: Wed, 5 Jul 2023 18:19:36 +0000 Subject: [PATCH 1/2] promote the following APF metrics to beta: apiserver_flowcontrol_request_wait_duration_seconds apiserver_flowcontrol_request_concurrency_in_use apiserver_flowcontrol_request_concurrency_limit apiserver_flowcontrol_rejected_requests_total apiserver_flowcontrol_dispatched_requests_total apiserver_flowcontrol_current_inqueue_requests apiserver_flowcontrol_current_executing_requests Signed-off-by: Andrew Sy Kim --- .../fairqueuing/queueset/queueset_test.go | 6 +++--- .../pkg/util/flowcontrol/metrics/metrics.go | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset_test.go b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset_test.go index 258041cc3be..053eb96f03b 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset_test.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset/queueset_test.go @@ -379,7 +379,7 @@ func (uss *uniformScenarioState) finalReview() { } if uss.evalInqueueMetrics { e := ` - # HELP apiserver_flowcontrol_current_inqueue_requests [ALPHA] Number of requests currently pending in queues of the API Priority and Fairness subsystem + # HELP apiserver_flowcontrol_current_inqueue_requests [BETA] Number of requests currently pending in queues of the API Priority and Fairness subsystem # TYPE apiserver_flowcontrol_current_inqueue_requests gauge ` + uss.expectedInqueue err := metrics.GatherAndCompare(e, "apiserver_flowcontrol_current_inqueue_requests") @@ -402,7 +402,7 @@ func (uss *uniformScenarioState) finalReview() { } if uss.evalExecutingMetrics && len(uss.expectedExecuting) > 0 { e := ` - # HELP apiserver_flowcontrol_current_executing_requests [ALPHA] Number of requests in initial (for a WATCH) or any (for a non-WATCH) execution stage in the API Priority and Fairness subsystem + # HELP apiserver_flowcontrol_current_executing_requests [BETA] Number of requests in initial (for a WATCH) or any (for a non-WATCH) execution stage in the API Priority and Fairness subsystem # TYPE apiserver_flowcontrol_current_executing_requests gauge ` + uss.expectedExecuting err := metrics.GatherAndCompare(e, "apiserver_flowcontrol_current_executing_requests") @@ -426,7 +426,7 @@ func (uss *uniformScenarioState) finalReview() { } if uss.evalExecutingMetrics && len(expectedRejects) > 0 { e := ` - # HELP apiserver_flowcontrol_rejected_requests_total [ALPHA] Number of requests rejected by API Priority and Fairness subsystem + # HELP apiserver_flowcontrol_rejected_requests_total [BETA] Number of requests rejected by API Priority and Fairness subsystem # TYPE apiserver_flowcontrol_rejected_requests_total counter ` + expectedRejects err := metrics.GatherAndCompare(e, "apiserver_flowcontrol_rejected_requests_total") 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 441fc058ad6..62ba0014e20 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 @@ -94,7 +94,7 @@ var ( Subsystem: subsystem, Name: "rejected_requests_total", Help: "Number of requests rejected by API Priority and Fairness subsystem", - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel, flowSchema, "reason"}, ) @@ -104,7 +104,7 @@ var ( Subsystem: subsystem, Name: "dispatched_requests_total", Help: "Number of requests executed by API Priority and Fairness subsystem", - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel, flowSchema}, ) @@ -206,7 +206,7 @@ var ( Subsystem: subsystem, Name: "current_inqueue_requests", Help: "Number of requests currently pending in queues of the API Priority and Fairness subsystem", - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel, flowSchema}, ) @@ -237,7 +237,7 @@ var ( Subsystem: subsystem, Name: "current_executing_requests", Help: "Number of requests in initial (for a WATCH) or any (for a non-WATCH) execution stage in the API Priority and Fairness subsystem", - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel, flowSchema}, ) @@ -247,7 +247,7 @@ var ( Subsystem: subsystem, Name: "current_executing_seats", Help: "Concurrency (number of seats) occupied by the currently executing (initial stage for a WATCH, any stage otherwise) requests in the API Priority and Fairness subsystem", - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel, flowSchema}, ) @@ -269,7 +269,7 @@ var ( Name: "request_wait_duration_seconds", Help: "Length of time a request spent waiting in its queue", Buckets: requestDurationSecondsBuckets, - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel, flowSchema, "execute"}, ) @@ -334,7 +334,7 @@ var ( Subsystem: subsystem, Name: "nominal_limit_seats", Help: "Nominal number of execution seats configured for each priority level", - StabilityLevel: compbasemetrics.ALPHA, + StabilityLevel: compbasemetrics.BETA, }, []string{priorityLevel}, ) From d25075f3424237a20ac129677081ffc305a28e03 Mon Sep 17 00:00:00 2001 From: Andrew Sy Kim Date: Thu, 13 Jul 2023 20:12:57 +0000 Subject: [PATCH 2/2] update generated list of stable metrics Signed-off-by: Andrew Sy Kim --- .../testdata/stable-metrics-list.yaml | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/test/instrumentation/testdata/stable-metrics-list.yaml b/test/instrumentation/testdata/stable-metrics-list.yaml index 29716399727..968ca87f8a1 100644 --- a/test/instrumentation/testdata/stable-metrics-list.yaml +++ b/test/instrumentation/testdata/stable-metrics-list.yaml @@ -409,6 +409,88 @@ stabilityLevel: STABLE labels: - resource +- name: current_executing_requests + subsystem: flowcontrol + namespace: apiserver + help: Number of requests in initial (for a WATCH) or any (for a non-WATCH) execution + stage in the API Priority and Fairness subsystem + type: Gauge + stabilityLevel: BETA + labels: + - flow_schema + - priority_level +- name: current_executing_seats + subsystem: flowcontrol + namespace: apiserver + help: Concurrency (number of seats) occupied by the currently executing (initial + stage for a WATCH, any stage otherwise) requests in the API Priority and Fairness + subsystem + type: Gauge + stabilityLevel: BETA + labels: + - flow_schema + - priority_level +- name: current_inqueue_requests + subsystem: flowcontrol + namespace: apiserver + help: Number of requests currently pending in queues of the API Priority and Fairness + subsystem + type: Gauge + stabilityLevel: BETA + labels: + - flow_schema + - priority_level +- name: dispatched_requests_total + subsystem: flowcontrol + namespace: apiserver + help: Number of requests executed by API Priority and Fairness subsystem + type: Counter + stabilityLevel: BETA + labels: + - flow_schema + - priority_level +- name: nominal_limit_seats + subsystem: flowcontrol + namespace: apiserver + help: Nominal number of execution seats configured for each priority level + type: Gauge + stabilityLevel: BETA + labels: + - priority_level +- name: rejected_requests_total + subsystem: flowcontrol + namespace: apiserver + help: Number of requests rejected by API Priority and Fairness subsystem + type: Counter + stabilityLevel: BETA + labels: + - flow_schema + - priority_level + - reason +- name: request_wait_duration_seconds + subsystem: flowcontrol + namespace: apiserver + help: Length of time a request spent waiting in its queue + type: Histogram + stabilityLevel: BETA + labels: + - execute + - flow_schema + - priority_level + buckets: + - 0 + - 0.005 + - 0.02 + - 0.05 + - 0.1 + - 0.2 + - 0.5 + - 1 + - 2 + - 5 + - 10 + - 15 + - 30 - name: healthcheck namespace: kubernetes help: This metric records the result of a single healthcheck.