A pretty generic Storm metrics reporter, currently used to adapt Storm metrics to Yammer metrics API and report them to Graphite, inspired by storm-metrics-statsd.
Currently it provides the following core features:
- Sending built-in Storm metrics to Graphite (or whatever, basically)
- Bolt capacity metrics (not one of Storm's built-in metrics, and a bit of a pain to calculate using Graphite's mathematical functions)
- Yammer metrics semantics over Storms metric mechanism
- Counter
- Gauge
- Timer
- Histogram
- Meter
Please take a look at the Wiki for furter deatils.
Add a pom dependency (hosted by maven central):
<dependency>
<groupId>com.github.staslev</groupId>
<artifactId>storm-metrics-reporter</artifactId>
<version>1.1</version>
</dependency>
Or, in case you wish to build the jar yourself:
git clone https://github.com/staslev/storm-metrics-reporter.git
cd storm-metrics-reporter
mvn package install
- This project was inspired by storm-metrics-statsd, thanks jt6211!
- The screenshots above were generated using a custom
StormMetricProcessor
implementation, not the one included in the sources. It depicts a particular Graphite naming convention (the host for instance, is not seen in the metric hierarchy chart as it's located higher in the hierarchy). Metrics naming styles are subject to change in other environemnts. - storm-metrics-reporter currently supports reporting metrics to Graphite only, but it should be pretty straight forward to extend it to support other metrics reporting mechanisms.