Skip to content

Commit 37815c8

Browse files
authored
Merge pull request #43549 from MikeSpreitzer/apf-updoc-129
Add some overlooked APF metrics, note maturity levels
2 parents 4cfd541 + b415f25 commit 37815c8

File tree

1 file changed

+42
-25
lines changed

1 file changed

+42
-25
lines changed

content/en/docs/concepts/cluster-administration/flow-control.md

Lines changed: 42 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,8 @@ exports additional metrics. Monitoring these can help you determine whether your
488488
configuration is inappropriately throttling important traffic, or find
489489
poorly-behaved workloads that may be harming system health.
490490

491+
#### Maturity level BETA
492+
491493
* `apiserver_flowcontrol_rejected_requests_total` is a counter vector
492494
(cumulative since server start) of requests that were rejected,
493495
broken down by the labels `flow_schema` (indicating the one that
@@ -509,6 +511,37 @@ poorly-behaved workloads that may be harming system health.
509511
vector (cumulative since server start) of requests that began
510512
executing, broken down by `flow_schema` and `priority_level`.
511513

514+
* `apiserver_flowcontrol_current_inqueue_requests` is a gauge vector
515+
holding the instantaneous number of queued (not executing) requests,
516+
broken down by `priority_level` and `flow_schema`.
517+
518+
* `apiserver_flowcontrol_current_executing_requests` is a gauge vector
519+
holding the instantaneous number of executing (not waiting in a
520+
queue) requests, broken down by `priority_level` and `flow_schema`.
521+
522+
* `apiserver_flowcontrol_current_executing_seats` is a gauge vector
523+
holding the instantaneous number of occupied seats, broken down by
524+
`priority_level` and `flow_schema`.
525+
526+
* `apiserver_flowcontrol_request_wait_duration_seconds` is a histogram
527+
vector of how long requests spent queued, broken down by the labels
528+
`flow_schema`, `priority_level`, and `execute`. The `execute` label
529+
indicates whether the request has started executing.
530+
531+
{{< note >}}
532+
Since each FlowSchema always assigns requests to a single
533+
PriorityLevelConfiguration, you can add the histograms for all the
534+
FlowSchemas for one priority level to get the effective histogram for
535+
requests assigned to that priority level.
536+
{{< /note >}}
537+
538+
* `apiserver_flowcontrol_nominal_limit_seats` is a gauge vector
539+
holding each priority level's nominal concurrency limit, computed
540+
from the API server's total concurrency limit and the priority
541+
level's configured nominal concurrency shares.
542+
543+
#### Maturity level ALPHA
544+
512545
* `apiserver_current_inqueue_requests` is a gauge vector of recent
513546
high water marks of the number of queued requests, grouped by a
514547
label named `request_kind` whose value is `mutating` or `readOnly`.
@@ -518,6 +551,10 @@ poorly-behaved workloads that may be harming system health.
518551
last window's high water mark of number of requests actively being
519552
served.
520553

554+
* `apiserver_current_inqueue_seats` is a gauge vector of the sum over
555+
queued requests of the largest number of seats each will occupy,
556+
grouped by labels named `flow_schema` and `priority_level`.
557+
521558
* `apiserver_flowcontrol_read_vs_write_current_requests` is a
522559
histogram vector of observations, made at the end of every
523560
nanosecond, of the number of requests broken down by the labels
@@ -528,14 +565,6 @@ poorly-behaved workloads that may be harming system health.
528565
number of requests (queue volume limit for waiting and concurrency
529566
limit for executing).
530567

531-
* `apiserver_flowcontrol_current_inqueue_requests` is a gauge vector
532-
holding the instantaneous number of queued (not executing) requests,
533-
broken down by `priority_level` and `flow_schema`.
534-
535-
* `apiserver_flowcontrol_current_executing_requests` is a gauge vector
536-
holding the instantaneous number of executing (not waiting in a
537-
queue) requests, broken down by `priority_level` and `flow_schema`.
538-
539568
* `apiserver_flowcontrol_request_concurrency_in_use` is a gauge vector
540569
holding the instantaneous number of occupied seats, broken down by
541570
`priority_level` and `flow_schema`.
@@ -584,11 +613,6 @@ poorly-behaved workloads that may be harming system health.
584613
was always equal to `apiserver_flowcontrol_current_limit_seats`
585614
(which did not exist as a distinct metric).
586615

587-
* `apiserver_flowcontrol_nominal_limit_seats` is a gauge vector
588-
holding each priority level's nominal concurrency limit, computed
589-
from the API server's total concurrency limit and the priority
590-
level's configured nominal concurrency shares.
591-
592616
* `apiserver_flowcontrol_lower_limit_seats` is a gauge vector holding
593617
the lower bound on each priority level's dynamic concurrency limit.
594618

@@ -631,18 +655,6 @@ poorly-behaved workloads that may be harming system health.
631655
holding, for each priority level, the dynamic concurrency limit
632656
derived in the last adjustment.
633657

634-
* `apiserver_flowcontrol_request_wait_duration_seconds` is a histogram
635-
vector of how long requests spent queued, broken down by the labels
636-
`flow_schema`, `priority_level`, and `execute`. The `execute` label
637-
indicates whether the request has started executing.
638-
639-
{{< note >}}
640-
Since each FlowSchema always assigns requests to a single
641-
PriorityLevelConfiguration, you can add the histograms for all the
642-
FlowSchemas for one priority level to get the effective histogram for
643-
requests assigned to that priority level.
644-
{{< /note >}}
645-
646658
* `apiserver_flowcontrol_request_execution_seconds` is a histogram
647659
vector of how long requests took to actually execute, broken down by
648660
`flow_schema` and `priority_level`.
@@ -661,6 +673,11 @@ poorly-behaved workloads that may be harming system health.
661673
to a request being dispatched but did not, due to lack of available
662674
concurrency, broken down by `flow_schema` and `priority_level`.
663675

676+
* `apiserver_flowcontrol_epoch_advance_total` is a counter vector of
677+
the number of attempts to jump a priority level's progress meter
678+
backward to avoid numeric overflow, grouped by `priority_level` and
679+
`success`.
680+
664681
## Good practices for using API Priority and Fairness
665682

666683
When a given priority level exceeds its permitted concurrency, requests can

0 commit comments

Comments
 (0)