Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state: DISCUSSIONACCEPTED

Discussion thread: here

Vote Thread: here

JIRA:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-8874

...

We will add the following metrics:

Metric NameMbean NameDescription
time-between-poll-avg kafka.consumer:type=consumer-metrics,client-id=([-.\w]+)The average delay between invocations of poll().
time-between-poll-max kafka.consumer:type=consumer-metrics,client-id=([-.\w]+)The max delay between invocations of poll().
last-poll-seconds-ago kafka.consumer:type=consumer-metrics,client-id=([-.\w]+)The number of seconds since the last poll() invocation.
poll-idle-ratio
 
-avgkafka.consumer:type=consumer-metrics,client-id=([-.\w]+)The average fraction of time the consumer
spent
's poll() is idle as opposed to waiting for the user code to process records
from poll
.

Proposed Changes

time-between-poll (avg/max)

...

The last-poll-seconds-ago  metric will measure the time since the user last called poll() to provide more insight into how/when the user code calls poll()  .

poll-idle-ratio-avg

There will be an additional metric that measures the idle time of the consumer in waiting for the user to process records returned from poll:

LaTeX Formatting
$\textrm{poll-idle-ratio-avg} = \frac{\textrm{time-betweeninside-poll}}{\textrm{total-time-inside-poll}}$

The value of this metric indicates different possible scenarios:

...

  • Can indicate a potential issue or performance bottleneck in user code

This metric will have a value between 0.0 and 1.0.

A value approaching 1.0 means consumer is idle in poll (ex. waiting for records) while a value approaching 0.0 means the application is busy processing in user code.

...

A low value (approaching 0.0) could indicate a

potential issue or performance bottleneck in

...

user code.

Compatibility, Deprecation, and Migration Plan

...