Status

Current state: Accepted

Vote thread: https://lists.apache.org/thread/ztfo36jc26mt73whmr36d6x3xrjmyjdf

Discussion thread: https://lists.apache.org/thread/ty80q7dll4dlx3vnso7rlnlrd7c092fp

JIRA: KAFKA-19791 - Getting issue details... STATUS

Motivation

The MetadataLoader is a critical component in KRaft clusters that processes metadata changes from the Raft layer and distributes them to various publishers. However, unlike similar event-driven components such as the QuorumController (which has ControllerEventManager::AvgIdleRatio ) and various coordinators, the MetadataLoader lacks the idle thread ratio metric for monitoring its event queue processing efficiency. 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.

Public Interfaces

Monitoring

NameTypeDescription
kafka.server:type=MetadataLoader,name=AvgIdleRatioTimeRatio

The idle ratio measures the proportion of time the MetadataLoader event queue thread is not actively processing metadata events. This metric uses the existing org.apache.kafka.server.metrics.TimeRatio implementation, which tracks idleness over the actual measurement interval.

The metric's value ranges from 0 to 1, where 0 indicates the thread is constantly processing events without breaks, and 1 signifies the thread is almost always waiting for work.


Compatibility, Deprecation, and Migration Plan

This KIP introduces a single new metric without modifying existing behavior, APIs, or protocols. This new metric will be available immediately after upgrader. There will be no impact on existing Kafka versions

Test Plan

Unit tests will be added to verify the metrics.

Rejected Alternatives

NA

  • No labels