Current state: Under Discussion
Discussion thread: here
JIRA:
The MetadataLoader thread is responsible for consuming metadata from Raft and processing critical metadata updates, including metadata commits, snapshot loading, leader changes, and publisher management. Currently, there is no metric to measure how much time the MetadataLoader thread spends idle waiting for new metadata events versus actively processing them. This lack of visibility makes it challenging to assess the metadata processing pipeline's performance, detect potential bottlenecks in metadata propagation, or optimize resource allocation when metadata update frequency varies significantly.
| Name | Type | Description |
|---|---|---|
| kafka.metadata:type=MetadataLoader,name=AvgIdleRatio | TimeRatio | The idle ratio measures the proportion of time the MetadataLoader thread is not actively processing metadata events The metric uses the existing org.apache.kafka.raft.internals.TimeRatio implementation which tracks idleness over the actual measurement interval. |
This KIP introduces a single new metric, with no changes to existing behavior, APIs, or protocols. There will be no impact on existing Kafka versions
Unit tests will be added to verify the metrics.
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.