Current state: NA
Vote thread: here
Discussion thread: here
JIRA: KAFKA-19467
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
The controller thread is responsible for critical cluster coordination tasks, including leadership elections, topic metadata updates, partition assignments, and Raft-based state changes. However, there is currently no metric to measure how much time the controller spends actively processing work versus waiting for new events or Raft callbacks. This KIP proposes introducing a new metric to monitor the controller thread’s idleness ratio.
| Name | Type | Description |
|---|---|---|
| kafka.controller:type=KafkaController,name=ControllerThreadIdleRatio | Gauge | The ratio of time the controller thread is idle to the time controller compared to the total time. Values range from 0 to 1, where 0 indicates the thread is fully busy and 1 indicates it is completely idle. |
We adds one new metric so there will be no behaviour changes and no impact on existing kafka versions.
We will add unit test to verify the metric.
If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.