You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "okkez (JIRA)" <ji...@apache.org> on 2018/01/29 06:11:00 UTC
[jira] [Created] (KAFKA-6493) Cannot use
kafka.metrics.KafkaCSVMetricsReporter
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)