Class JmxReporter
java.lang.Object
org.apache.kafka.common.metrics.JmxReporter
- All Implemented Interfaces:
AutoCloseable,Configurable,MetricsReporter,Reconfigurable
Register metrics in JMX as dynamic mbeans based on the metric names
Field Summary
FieldsConstructor Summary
ConstructorsMethod Summary
Modifier and TypeMethodDescriptionvoidclose()Called when the metrics repository is closed.compilePredicate(Map<String, ?> originalConfig) voidConfigure this class with the given key-value pairsbooleancontainsMbean(String mbeanName) voidcontextChange(MetricsContext metricsContext) Sets the context labels for the service or library exposing metrics.voidinit(List<KafkaMetric> metrics) This is called when the reporter is first registered to initially register all existing metricsvoidmetricChange(KafkaMetric metric) This is called whenever a metric is updated or addedvoidmetricRemoval(KafkaMetric metric) This is called whenever a metric is removedReturns the names of configs that may be reconfigured.voidreconfigure(Map<String, ?> configs) Reconfigures this instance with the given key-value pairs.voidvalidateReconfiguration(Map<String, ?> configs) Validates the provided configuration.
Field Details
METRICS_CONFIG_PREFIX
- See Also:
EXCLUDE_CONFIG
- See Also:
EXCLUDE_CONFIG_ALIAS
- See Also:
INCLUDE_CONFIG
- See Also:
INCLUDE_CONFIG_ALIAS
- See Also:
RECONFIGURABLE_CONFIGS
DEFAULT_INCLUDE
- See Also:
DEFAULT_EXCLUDE
- See Also:
JMX_IGNORE_TAG
- See Also:
Constructor Details
JmxReporter
public JmxReporter()
Method Details
configure
Description copied from interface:ConfigurableConfigure this class with the given key-value pairs- Specified by:
configurein interfaceConfigurable
reconfigurableConfigs
Description copied from interface:ReconfigurableReturns the names of configs that may be reconfigured.- Specified by:
reconfigurableConfigsin interfaceMetricsReporter- Specified by:
reconfigurableConfigsin interfaceReconfigurable
validateReconfiguration
Description copied from interface:ReconfigurableValidates the provided configuration. The provided map contains all configs including any reconfigurable configs that may be different from the initial configuration. Reconfiguration will be not performed if this method throws any exception.- Specified by:
validateReconfigurationin interfaceMetricsReporter- Specified by:
validateReconfigurationin interfaceReconfigurable- Throws:
ConfigException- if the provided configs are not valid. The exception message from ConfigException will be returned to the client in the AlterConfigs response.
reconfigure
Description copied from interface:ReconfigurableReconfigures this instance with the given key-value pairs. The provided map contains all configs including any reconfigurable configs that may have changed since the object was initially configured usingConfigurable.configure(Map). This method will only be invoked if the configs have passed validation usingReconfigurable.validateReconfiguration(Map).- Specified by:
reconfigurein interfaceMetricsReporter- Specified by:
reconfigurein interfaceReconfigurable
init
Description copied from interface:MetricsReporterThis is called when the reporter is first registered to initially register all existing metrics- Specified by:
initin interfaceMetricsReporter- Parameters:
metrics- All currently existing metrics
containsMbean
metricChange
Description copied from interface:MetricsReporterThis is called whenever a metric is updated or added- Specified by:
metricChangein interfaceMetricsReporter- Parameters:
metric- The metric that has been added or changed
metricRemoval
Description copied from interface:MetricsReporterThis is called whenever a metric is removed- Specified by:
metricRemovalin interfaceMetricsReporter- Parameters:
metric- The metric that has been removed
close
public void close()Description copied from interface:MetricsReporterCalled when the metrics repository is closed.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceMetricsReporter
compilePredicate
contextChange
Description copied from interface:MetricsReporterSets the context labels for the service or library exposing metrics. This will be called beforeMetricsReporter.init(List)and may be called anytime after that.- Specified by:
contextChangein interfaceMetricsReporter- Parameters:
metricsContext- the metric context