Skip to content
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

instructions for integration with graphite #130

Closed
cfregly opened this issue Feb 12, 2013 · 3 comments
Closed

instructions for integration with graphite #130

cfregly opened this issue Feb 12, 2013 · 3 comments

Comments

@cfregly
Copy link
Contributor

cfregly commented Feb 12, 2013

are there instructions/examples on how to integrate servo with graphite?

i've got graphite setup per http://graphite.wikidot.com/installation, servo-graphite setup in my pom.xml file, my code instrumented with counters and such, and now i need to glue everything together.

i looked at the CloudWatchExample and i see the use of CloudWatchMetricObserver and PollCallable in a while(true) loop. i found the equivalent GraphiteMetricObserver, but still not clear on how to use it properly.

the following is the specific code that i'm trying to integrate:

pom.xml: https://github.com/cfregly/fluxcapacitor/blob/master/flux-core/pom.xml

instrumented code including DefaultMonitorRegistry.register() code:
https://github.com/cfregly/fluxcapacitor/blob/master/flux-edge/src/main/java/com/fluxcapacitor/edge/jersey/resources/EdgeResource.java

any tips would be very helpful.

thanks!

-chris

@brharrington
Copy link
Contributor

Chris,

The graphite module was contributed, we don't use it internally so I haven't used it that much. I tried it briefly when we got the submission and I may still have the basic example somewhere. I'll see if I can find it and check it in.

@cfregly
Copy link
Contributor Author

cfregly commented Feb 13, 2013

thanks, Brian! that would be very useful.

also, any info on the movement - and timing - of data would be useful.

this is the part I knew the least back at netflix as everything was wired up and ready by the time I got there... I just added more gauges/tracers/counters and they would magically show up.

I see that Hystrix has a custom observer that starts/stops/updates periodically. there's a lot if code there, as well, so it's hard to figure out what's going on, conceptually.

any info - and supporting examples - would be very helpful.

thanks!

-Chris

@brharrington
Copy link
Contributor

I added a wiki page talking about graphite:

https://github.com/Netflix/servo/wiki/Publishing-to-Graphite

There is also a basic example app now:

https://github.com/Netflix/servo/blob/master/servo-example/src/main/java/com/netflix/servo/example/Main.java

You can run the example with:

./gradlew servo-example:run

By default it will log to local files. You can set some properties to enable reporting to graphite as well. When I get some time I'll add in the cloudwatch observer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants