I’ve been working with Erlang for the last quarter, and since we very much eat our own monitoring dogfood at Hosted Graphite, I’ve been exporting application and VM metrics from my software.

Exometer is a nicely designed monitoring library for Erlang which includes easy export to Graphite, so it’s what I’ve been using.

The question of getting started with it seems to come up a bit on #erlang, so I’ve packaged up a simple library application:

basic_metrics

Rather than using exometer’s static configuration options, we build everything dynamically in the module. It’s a little verbose as a result, but clear and self-contained. The exports there should also provide examples for your own application metrics.

This library depends upon and uses Fred Hébert’s recon for additional metrics useful in production. See also Erlang in Anger.

The exometer integration is based on Brian Troutwine’s notes in Monitoring with Exometer: An Ongoing Love Story. For lots more detail on using exometer, see that article and the exometer documentation.

Brian also has a great talk online covering some of the same details: video, slides.