This sample project demonstrates usage of Metrics + Graphite + Graphana.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This sample project demonstrates usage of Metrics + Graphite + Graphana.

You can check my Metrics, check your performance slides for some background informations about those samples.


This project wire together 3 monitoring components :

  • Metrics which is a Java library which gives you insight into what your code does in production environment. It's a powerful toolkit which provide glues metrics for common libraries like Jetty, Logback, Log4j, Apache HttpClient, Ehcache, JDBI, Jersey. You can report to backends like Ganglia and Graphite.

  • Graphite is a highly scalable real-time graphing system. It will collects numeric time-series data into Graphite's processing backend, Carbon.

  • Graphana is metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB. It's forked version from Kibana reworked for more generic usage.

Source code

Current project provides a sample integration between JEE Servlet and Metrics. You can check sample code :


Graphite and Graphana are a bit complex components to deploy, so I provide some pre-build containers using :

  • Docker provide easy to deploy containers: it provide a portable, lightweight runtime and packaging tool.
  • Fig is a fast and isolated development environments using Docker.

Once you have Docker and Fig installed and configured, you can run :

fig up graphite

It will download & start a full-blown graphite+graphana container.

You can then submit your metrics to localhost:2003 (Graphite UDP port).