cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Burroughs (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-4430) optional pluggable o.a.c.metrics reporters
Date Thu, 07 Mar 2013 01:09:11 GMT


Chris Burroughs commented on CASSANDRA-4430:
--------------------------------------------  with the meat at

A few notes at this stage:
 * It works!
 * Requires newer snakeyaml ( CASSANDRA-5317 ), I'm not sure if that's something that can
be worked around
 * Not sure if the jboss logging transitive dep can be avoided yet.  All of the transitives
dependencies could be avoided (I think) if we don't care about validating configs (ie getting
helpful messages along the lines of  "fortnight" is not a valid timeunit, must match "^(DAYS|HOURS|MICROSECONDS|MILLISECONDS|MINUTES|NANOSECONDS|SECONDS)$")
 * In theory the config could be embedded in cassandra.yaml.  I went with a new file since
jmx/log4j/mx4j etc are all done outside of cassandra.yaml.  This is the design choice I was
least sure about.

To use:
 * Configure conf/metrics-reporter-config.yaml as described in
 * copy the jar for whatever metrics sink you are using into lib/ (csv reporter is built in,
the more interesting ganglia/graphite sinks are independent jars
> optional pluggable o.a.c.metrics reporters
> ------------------------------------------
>                 Key: CASSANDRA-4430
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Chris Burroughs
>            Priority: Minor
>         Attachments: cassandra-ganglia-example.png
> CASSANDRA-4009  expanded the use of the metrics library which has a set of reporter modules  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:

View raw message