Skip to content

Conversation

@nandini12396
Copy link

Remote fetch quota enforcement lacks per-topic visibility, making it difficult to identify which topics consume the most quota or experience throttling.

Add 4 new per-topic metrics:

  • RemoteFetchQuotaBytesPerSec: quota bytes consumed per topic
  • RemoteFetchQuotaThrottledPerSec: throttled requests per topic
  • RemoteFetchQuotaThrottleTimeMs: throttle time distribution
  • RemoteFetchSizeBytes: fetch size distribution

…ta Enforcement

Remote fetch quota enforcement lacks per-topic visibility, making it
difficult to identify which topics consume the most quota or experience
throttling.

Add 4 new per-topic metrics:

- RemoteFetchQuotaBytesPerSec: quota bytes consumed per topic
- RemoteFetchQuotaThrottledPerSec: throttled requests per topic
- RemoteFetchQuotaThrottleTimeMs: throttle time distribution
- RemoteFetchSizeBytes: fetch size distribution
@github-actions github-actions bot added triage PRs from the community core Kafka Broker storage Pull requests that target the storage module tiered-storage Related to the Tiered Storage feature labels Dec 5, 2025
return QuotaUtils.throttleTime(qve, time.milliseconds());

// Record throttling metrics if topic provided
if (brokerTopicStats != null && topic != null) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO more defense could be added here, in case this additional code leads to exception (today or in future) the throrrleTime will never be returned to caller. Worth adding another try catch to ensure this is safe and in worst case returns ? QuotaUtils.throttleTime(qve, time.milliseconds());

@github-actions github-actions bot removed the triage PRs from the community label Dec 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Kafka Broker storage Pull requests that target the storage module tiered-storage Related to the Tiered Storage feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants