Hi, we have a KafkaStreams app. We specify a custom metric reporter by doing:
Properties config = new Properties(); config.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "kafka-broker1:9092"); config.put(StreamsConfig.METRIC_REPORTER_CLASSES_CONFIG, "com.mycompany.MetricReporter"); config.put("custom-key-for-metric-reporter", "value"); Previously, our metric reporter would get passed the properties object upon instantiation, and would retrieve its custom config. It appears that in recent releases, that in order to apply my metric reporter to the consumer, that I have to specify my config as "consumer.custom-key-for-metric-reporter". And for the producer, I have to specify it as "producer.custom-key-for-metric-reporter". If I don't prefix it with "consumer." or "producer." , it appears it gets stripped out from the properties object that is passsed to my metric reporter when the consumer/producer gets initialized, and so my metric reporter can't get its config. That means that if I have a metrics reporter and I want to collect producer and consumer metrics, as well as kafka-streams metrics, that I have to specify my custom config 3 times: 1) consumer.custom-key-for-metric-reporter 2) producer.custom-key-for-metric-reporter 3) custom-key-for-metric-reporter Is that behavior as designed or is that a bug? What is the desired behavior for non-recognized keys in the properties object? And actually, for the metrics.reporter class itself, am I supposed to specify it as: metrics.reporter or metric.reporters producer.metric.reporters consumer.metric.reporters Thanks, -James