[
https://issues.apache.org/jira/browse/KAFKA-14664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Gustafson resolved KAFKA-14664.
-------------------------------------
Resolution: Fixed
> Raft idle ratio is inaccurate
> -----------------------------
>
> Key: KAFKA-14664
> URL: https://issues.apache.org/jira/browse/KAFKA-14664
> Project: Kafka
> Issue Type: Bug
> Reporter: Jason Gustafson
> Assignee: Jason Gustafson
> Priority: Major
> Fix For: 3.5.0
>
>
> The `poll-idle-ratio-avg` metric is intended to track how idle the raft IO
> thread is. When completely idle, it should measure 1. When saturated, it
> should measure 0. The problem with the current measurements is that they are
> treated equally with respect to time. For example, say we poll twice with the
> following durations:
> Poll 1: 2s
> Poll 2: 0s
> Assume that the busy time is negligible, so 2s passes overall.
> In the first measurement, 2s is spent waiting, so we compute and record a
> ratio of 1.0. In the second measurement, no time passes, and we record 0.0.
> The idle ratio is then computed as the average of these two values (1.0 + 0.0
> / 2 = 0.5), which suggests that the process was busy for 1s, which
> overestimates the true busy time.
> Instead, we should sum up the time waiting over the full interval. 2s passes
> total here and 2s is idle, so we should compute 1.0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)