Move nodeLevelSensor and storeLevelSensor methods from StreamsMetricsImpl to StreamsMetrics
Status
Current state: Under Discussion
Discussion thread: here [Change the link from the KIP proposal email archive to your own email thread]
JIRA: KAFKA-10217
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
StreamsMetricsImpl contains several convenience methods for safely registering sensors at different levels of granularity. We added them as internal methods because we weren't sure of their stability and utility. Now, they've been in use for quite a while and seem to be stable.
We should move them up into the public API so that custom stores and processor implementations can also benefit from their safety.
Implementing this feature should also allow us to drop the adaptor function: `org.apache.kafka.streams.processor.internals.ProcessorContextUtils#getMetricsImpl`
Public Interfaces
org.apache.kafka.streams.StreamsMetrics
Proposed Changes
Move nodeLevelSensor and storeLevelSensor methods from StreamsMetricsImpl to StreamsMetrics.
drop the adaptor function: `org.apache.kafka.streams.processor.internals.ProcessorContextUtils#getMetricsImpl`