You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Chris Burroughs (JIRA)" <ji...@apache.org> on 2013/09/20 03:20:52 UTC

[jira] [Comment Edited] (CASSANDRA-4430) optional pluggable o.a.c.metrics reporters

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

Chris Burroughs edited comment on CASSANDRA-4430 at 9/20/13 1:18 AM:
---------------------------------------------------------------------

bq. Hang on, we need to ship 4 extra jars now? Or are those only necessary if you want to enable different reporters?

The jars are for validation of the config, javax.validation.validation-api the actual implementation of said api from the hibernate folks, and the logging jar that the hibernate folks use.  That's admittedly a case study in somewhat excessive java modularity.  I *think* if those deps are excluded the only consequence is less useful error messages.  On the other hand cassandra.yaml itself might benefit from the javax.validation stuff, but that's a different topic.

Ex:
{code}
    @Pattern(
        regexp = "^(DAYS|HOURS|MICROSECONDS|MILLISECONDS|MINUTES|NANOSECONDS|SECONDS)$",
        message = "must be a valid java.util.concurrent.TimeUnit"
    )
    private String timeunit;
{code}

I didn't currently include metrics-ganglia/metrics-graphite/any-third party metrics packages (so users would have to toss a jar in like we do for mx4j).
                
      was (Author: cburroughs):
    bq. Hang on, we need to ship 4 extra jars now? Or are those only necessary if you want to enable different reporters?

The jars are for validation of the config, javax.validation.validation-api the actual implementation of said api from the hibernate folks, and the logging jar that the hibernate folks use.  That's admittedly a case study in somewhat excessive java modularity.  I *think* if those deps are excluded the only consequence is less useful error messages.  On the other hand cassandra.yaml itself might benefit from the javax.validation stuff, but that's a different topic.

Ex:
{{noformat}}
    @Pattern(
        regexp = "^(DAYS|HOURS|MICROSECONDS|MILLISECONDS|MINUTES|NANOSECONDS|SECONDS)$",
        message = "must be a valid java.util.concurrent.TimeUnit"
    )
    private String timeunit;
{{noformat}}

I didn't currently include metrics-ganglia/metrics-graphite/any-third party metrics packages (so users would have to toss a jar in like we do for mx4j).
                  
> 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: 2.1
>
>         Attachments: 4430-2.0.txt, 4430-trunk.txt, 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