Status
Current state: Under Discussion
Discussion thread: here
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Currently all Kafka components that support Metrics Reporters always inject JMXReporter. While it's possible to include/exclude metrics the JMXReporter exposes (via metrics.jmx.include/exclude settings) this reporter can't be disabled and is not controlled via the metric.reporters configuration like other reporters.
This reporter is useful when developing and in some environments but in other environments where it's not used it would be nice to be able to just disable it and only have explicitly configured metrics reporters running.
Public Interfaces
This KIP proposes introducing a new setting to all components (broker, producer, consumer, admin, connect and streams) to disable JMXReporter.
Proposed Changes
A new configuration setting:
Name: jmx.reporter.enable
Description: Enables the JMX Reporter which registers metrics in JMX as dynamic mbeans.
Type: Boolean
Default: true
Update Mode: Read only
When set to false, components will not instantiate a JMXReporter and only reporters set via metric.reporters will be used.
Compatibility, Deprecation, and Migration Plan
By default the new setting will be set to true so it does not change the current behavior. Users can disable the JMXReporter if they are not using it.
Rejected Alternatives
- Change the default value of metric.reporters to include JMXReporter. It would be nice to avoid creating a new configuration but this would cause a change of behavior for users that already set metric.reporters.