Skip to content

Commit 95c8b96

Browse files
authored
Merge pull request #38017 from MikeSpreitzer/saw-to-timing-histograms
Sample-and-watermark replaced with timing histograms
2 parents 8f05238 + 9ca621c commit 95c8b96

File tree

1 file changed

+30
-66
lines changed

1 file changed

+30
-66
lines changed

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

Lines changed: 30 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -538,26 +538,15 @@ poorly-behaved workloads that may be harming system health.
538538
last window's high water mark of number of requests actively being
539539
served.
540540

541-
* `apiserver_flowcontrol_read_vs_write_request_count_samples` is a
542-
histogram vector of observations of the then-current number of
543-
requests, broken down by the labels `phase` (which takes on the
544-
values `waiting` and `executing`) and `request_kind` (which takes on
545-
the values `mutating` and `readOnly`). The observations are made
546-
periodically at a high rate. Each observed value is a ratio,
547-
between 0 and 1, of a number of requests divided by the
548-
corresponding limit on the number of requests (queue length limit
549-
for waiting and concurrency limit for executing).
550-
551-
* `apiserver_flowcontrol_read_vs_write_request_count_watermarks` is a
552-
histogram vector of high or low water marks of the number of
553-
requests (divided by the corresponding limit to get a ratio in the
554-
range 0 to 1) broken down by the labels `phase` (which takes on the
555-
values `waiting` and `executing`) and `request_kind` (which takes on
556-
the values `mutating` and `readOnly`); the label `mark` takes on
557-
values `high` and `low`. The water marks are accumulated over
558-
windows bounded by the times when an observation was added to
559-
`apiserver_flowcontrol_read_vs_write_request_count_samples`. These
560-
water marks show the range of values that occurred between samples.
541+
* `apiserver_flowcontrol_read_vs_write_current_requests` is a
542+
histogram vector of observations, made at the end of every
543+
nanosecond, of the number of requests broken down by the labels
544+
`phase` (which takes on the values `waiting` and `executing`) and
545+
`request_kind` (which takes on the values `mutating` and
546+
`readOnly`). Each observed value is a ratio, between 0 and 1, of a
547+
number of requests divided by the corresponding limit on the number
548+
of requests (queue volume limit for waiting and concurrency limit
549+
for executing).
561550

562551
* `apiserver_flowcontrol_current_inqueue_requests` is a gauge vector
563552
holding the instantaneous number of queued (not executing) requests,
@@ -572,52 +561,27 @@ poorly-behaved workloads that may be harming system health.
572561
holding the instantaneous number of occupied seats, broken down by
573562
the labels `priority_level` and `flow_schema`.
574563

575-
* `apiserver_flowcontrol_priority_level_request_count_samples` is a
576-
histogram vector of observations of the then-current number of
577-
requests broken down by the labels `phase` (which takes on the
578-
values `waiting` and `executing`) and `priority_level`. Each
579-
histogram gets observations taken periodically, up through the last
580-
activity of the relevant sort. The observations are made at a high
581-
rate. Each observed value is a ratio, between 0 and 1, of a number
582-
of requests divided by the corresponding limit on the number of
583-
requests (queue length limit for waiting and concurrency limit for
584-
executing).
585-
586-
* `apiserver_flowcontrol_priority_level_request_count_watermarks` is a
587-
histogram vector of high or low water marks of the number of
588-
requests (divided by the corresponding limit to get a ratio in the
589-
range 0 to 1) broken down by the labels `phase` (which takes on the
590-
values `waiting` and `executing`) and `priority_level`; the label
591-
`mark` takes on values `high` and `low`. The water marks are
592-
accumulated over windows bounded by the times when an observation
593-
was added to
594-
`apiserver_flowcontrol_priority_level_request_count_samples`. These
595-
water marks show the range of values that occurred between samples.
596-
597-
* `apiserver_flowcontrol_priority_level_seat_count_samples` is a
598-
histogram vector of observations of the utilization of a priority
599-
level's concurrency limit, broken down by `priority_level`. This
600-
utilization is the fraction (number of seats occupied) /
601-
(concurrency limit). This metric considers all stages of execution
602-
(both normal and the extra delay at the end of a write to cover for
603-
the corresponding notification work) of all requests except WATCHes;
604-
for those it considers only the initial stage that delivers
605-
notifications of pre-existing objects. Each histogram in the vector
606-
is also labeled with `phase: executing` (there is no seat limit for
607-
the waiting phase). Each histogram gets observations taken
608-
periodically, up through the last activity of the relevant sort.
609-
The observations
610-
are made at a high rate.
611-
612-
* `apiserver_flowcontrol_priority_level_seat_count_watermarks` is a
613-
histogram vector of high or low water marks of the utilization of a
614-
priority level's concurrency limit, broken down by `priority_level`
615-
and `mark` (which takes on values `high` and `low`). Each histogram
616-
in the vector is also labeled with `phase: executing` (there is no
617-
seat limit for the waiting phase). The water marks are accumulated
618-
over windows bounded by the times when an observation was added to
619-
`apiserver_flowcontrol_priority_level_seat_count_samples`. These
620-
water marks show the range of values that occurred between samples.
564+
* `apiserver_flowcontrol_priority_level_request_utilization` is a
565+
histogram vector of observations, made at the end of each
566+
nanosecond, of the number of requests broken down by the labels
567+
`phase` (which takes on the values `waiting` and `executing`) and
568+
`priority_level`. Each observed value is a ratio, between 0 and 1,
569+
of a number of requests divided by the corresponding limit on the
570+
number of requests (queue volume limit for waiting and concurrency
571+
limit for executing).
572+
573+
* `apiserver_flowcontrol_priority_level_seat_utilization` is a
574+
histogram vector of observations, made at the end of each
575+
nanosecond, of the utilization of a priority level's concurrency
576+
limit, broken down by `priority_level`. This utilization is the
577+
fraction (number of seats occupied) / (concurrency limit). This
578+
metric considers all stages of execution (both normal and the extra
579+
delay at the end of a write to cover for the corresponding
580+
notification work) of all requests except WATCHes; for those it
581+
considers only the initial stage that delivers notifications of
582+
pre-existing objects. Each histogram in the vector is also labeled
583+
with `phase: executing` (there is no seat limit for the waiting
584+
phase).
621585

622586
* `apiserver_flowcontrol_request_queue_length_after_enqueue` is a
623587
histogram vector of queue lengths for the queues, broken down by

0 commit comments

Comments
 (0)