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