[ 
https://issues.apache.org/jira/browse/CASSANDRA-4430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13605806#comment-13605806
 ] 

Tyler Hobbs commented on CASSANDRA-4430:
----------------------------------------

Overall I'm not opposed to the idea of making it easy to enable various 
reporters, but I do have some questions and comments.

bq.  Keeping per connection stats around is not tenable for larger clusters

Can you clarify which stats you're referring to?  I didn't think we were 
exposing any metrics on a per-connection basis.

I'm not sure which component is failing, but if I enable the csv reporter, 
Cassandra logs this error repeatedly:

{noformat}
java.io.IOException: Unable to create 
/tmp/metrics/crazy-debugging/LiveSSTableCount.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.processGauge(CsvReporter.java:229)
        at 
com.yammer.metrics.reporting.CsvReporter.processGauge(CsvReporter.java:22)
        at com.yammer.metrics.core.Gauge.processWith(Gauge.java:28)
        at com.yammer.metrics.reporting.CsvReporter.run(CsvReporter.java:163)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{noformat}

I also seem to only get a subset of the metrics (BloomFilterFalsePositives, 
CurrentlyBlockedTasks, MeanRowSize, Size, CompressionRatio, LiveSSTableCount, 
MinRowSize, and TotalDiskSpaceUsed) which appear to only cover one column 
family.  Is the csv reporter just no good, or am I missing something here?

Regarding whitelisting/blacklisting, is the regex applied to the full metric 
name (e.g. o.a.c.metrics.ColumnFamily.WriteLatency.keyspace1.cf1)?
                
> optional pluggable o.a.c.metrics reporters
> ------------------------------------------
>
>                 Key: CASSANDRA-4430
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4430
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Chris Burroughs
>            Assignee: Chris Burroughs
>            Priority: Minor
>             Fix For: 1.2.4
>
>         Attachments: cassandra-ganglia-example.png
>
>
> CASSANDRA-4009  expanded the use of the metrics library which has a set of 
> reporter modules http://metrics.codahale.com/manual/core/#reporters  You can 
> report to flat files, ganglia, spit everything over http, etc.  The next step 
> is a mechanism for using those reporters with  o.a.c.metrics.  To avoid 
> bundling everything I suggest following the mx4j approach of "enable only if 
> on classpath coupled with a reporter configuration file.
> Strawman file:
> {noformat}
> console:
>   time: 1
>   timeunit: "seconds"
> csv:
>  - time: 1
>    timeunit: minutes
>    file: foo.csv
>  - time: 10
>    timeunit: seconds
>     file: bar.csv
> ganglia:
>  - time: 30
>    timunit: seconds
>    host: server-1
>    port: 8649
>  - time: 30
>    timunit: seconds
>    host: server-2
>    port: 8649
> {noformat}
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to