-
Notifications
You must be signed in to change notification settings - Fork 11
Several enhancements and fixes #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rkuris
wants to merge
17
commits into
StartTheShift:master
Choose a base branch
from
lookout:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Lots of cleanup. Added support for hostname:port@interval in the startup, so you can tune how often the reporter runs and the port it communicates on. Renamed classes to be lookout classes. Switched to testng and added a parser test for the hostname parsing. Improved documentation.
Added tests for statsdReporter, verified that the JVM reports non-zero values for everything.
Add support for port and reporting interval
Add config for Travis CI
Fix the agent not starting if args are not supplied
This is a pretty big refactor. There are now three sources of data for logging to statsd: the JVM (now in JavaVMGenerator), yammer metrics (now in YammerMetricsGenerator) and JMX (see CassandraJMXGenerator). Unfortunately, the CassandraJMXGenerator has to know some of the internals of how Cassandra reports JMX. It's coded to be somewhat bulletproof, such that missing JMX variables won't stop the other found ones from being reported. Right now, we fetch: gossip.score.<IP>, which help decide who is closer/faster for queries gossip.severity, which indicates how busy this node is self-reporting to others cfstats.<keyspace>.<columnfamily>.ReadCount cfstats.<keyspace>.<columnfamily>.WriteCount cfstats.<keyspace>.<columnfamily>.RecentReadLatencyMicros cfstats.<keyspace>.<columnfamily>.RecentWriteLatencyMicros cfstats.<keyspace>.<columnfamily>.TombstonesPerSlice cfstats.<keyspace>.<columnfamily>.estimatedKeys The last one is great for monitoring general trends, but of course don't rely on that number to be very accurate. Also supported is the currently-experimental PHI reporter, in PHI.<IP>, coming to a Cassandra cluster near you soon.
Fetch some jmx stats
This change just hardcodes the prefix to 'cassandra'. We should make the prefix configurable based on either a passed in configuration string or the cluster name, but that's not as easy or urgent as this change.
Remove hostname
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are using this in production now; there were several bugs but the idea was great. It now should report most of the stats correctly with a modern JVM.