okkez created KAFKA-6493: ---------------------------- Summary: Cannot use kafka.metrics.KafkaCSVMetricsReporter Key: KAFKA-6493 URL: https://issues.apache.org/jira/browse/KAFKA-6493 Project: Kafka Issue Type: Bug Components: core, metrics Affects Versions: 1.0.0 Environment: $ uname -a Linux enerian 4.14.0-3-amd64 #1 SMP Debian 4.14.12-2 (2018-01-06) x86_64 GNU/Linux $ java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Reporter: okkez I cannot use kafka.metrics.KafkaCSVMetricsReporter as following with Kafka 1.0.0. I added following configuration to server.properties: {noformat} kafka.metrics.reporters=kafka.metrics.KafkaCSVMetricsReporter kafka.metrics.polling.interval.secs=5 kafka.csv.metrics.dir=/tmp/csv_metrics kafka.csv.metrics.reporter.enabled=true {noformat} And I got following errors in logs/kafkaServer.out every 5 seconds: {noformat} java.io.IOException: Unable to create /tmp/csv_metrics/RequestsPerSec.csv at com.yammer.metrics.reporting.CsvReporter.createStreamForMetric(CsvReporter.java:141) at com.yammer.metrics.reporting.CsvReporter.getPrintStream(CsvReporter.java:257) at com.yammer.metrics.reporting.CsvReporter.access$000(CsvReporter.java:22) at com.yammer.metrics.reporting.CsvReporter$1.getStream(CsvReporter.java:156) at com.yammer.metrics.reporting.CsvReporter.processMeter(CsvReporter.java:173) at com.yammer.metrics.reporting.CsvReporter.processMeter(CsvReporter.java:22) at com.yammer.metrics.core.Meter.processWith(Meter.java:131) at com.yammer.metrics.reporting.CsvReporter.run(CsvReporter.java:163) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) {noformat} I found https://github.com/infusionsoft/yammer-metrics/blob/v2.2.0/metrics-core/src/main/java/com/yammer/metrics/reporting/CsvReporter.java#L136-L142. This means that throw IOException when CSV files to store metrics exist. I removed all CSV files and restart server, I got same error... I found new version of metrics-core on https://github.com/dropwizard/metrics. Kafka should use new version of metrics-core, I think. The new version of metrics-core seems not to have a such problem. -- This message was sent by Atlassian JIRA (v7.6.3#76005)