This page is meant as a template for writing a KIP. To create a KIP choose Tools->Copy on this page and modify with your content and replace the heading with the next KIP number and a description of your issue. Replace anything in italics with your own description.
Status
Current state: "Under Discussion"
Discussion thread: here [Change the link from the KIP proposal email archive to your own email thread]
JIRA: here [Change the link from KAFKA-1 to your own ticket]
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
If you are a Kafka user and you want to track the progress a client is making you can use the returned committed offset. However Streams does not have that capability as several Kafka clients are embedded in Streams client. This KIP proposes to add metrics to Kafka Streams that repost the progress Kafka exposes already.
Public Interfaces
Each added metric will be on task-level and have the following tags:
- type = task-processing-metrics
- sub-topology = [sub-topology ID]
- thread-id = [thread ID]
- task-id = [task ID]
The following metrics will be exposed in the KafkaStreams' metrics:
- latest-committed-offset
- is-task-idling
- last-offset-produced
Proposed Changes
latest-committed-offset
This should have the latest committed off set of each task. Each poll will update this.
is-task-idling
If the task is intentionally not pulling because it is idling this metric will report that
last-offset-produced
This metric will report that last metric produced by the task.
Compatibility, Deprecation, and Migration Plan
Since metrics are only added and no other metrics are modified, this KIP should not
- affect backward-compatibility
- deprecate public interfaces
- need a migration plan other than adding the new metrics to its own monitoring component
Rejected Alternatives
not yet