No description, website, or topics provided.
Failed to load latest commit information.
src note about opcodes Jul 8, 2013
.gitignore first commit of an extension to GraphiteReporter that uses pickle Feb 16, 2012
LICENSE.txt add license. depend on newly released metrics 2.1.0 Mar 13, 2012 Bump version to 1.2.0. Jul 8, 2013
pom.xml [maven-release-plugin] prepare for next development iteration Jul 10, 2013


An extension to Coda Hale's excellent Metrics library. It provides GraphitePickleReporter, which allows your application to stream metric values to a Graphite server using graphite's pickle receiver. This is recommended if sending large amounts of data:

GraphitePickleReporter.enable(1, TimeUnit.MINUTES, "", 2004);

Setting up Maven

To add metrics-graphite-pickle to your project:


Change Log


  • Stop using jython for metrics pickling. Hand-coded minimal pickling of the primitive data types. Jython unpickling remains in use during tests.


  • Modify the GraphitePickleReporter to use executor.scheduleAtFixedRate rather than executor.scheduleWithFixedDelay (will be unnecessary after upgrading to metrics 3.0.0)
  • Upgrade to metrics-core-2.2.0
  • Upgrade to metrics-graphite-2.2.0
  • Upgrade to jython-standalone-2.5.3
  • Upgrade to slf4j 1.7.2


  • Fixed a bug where a null prefix caused the last word in a metric name to be lost in some cases (e.g. 'mean')
  • Upgrade to metrics-graphite-2.1.3


  • Move the creation of MetricsPickler back into the run method but use a synchronized method to ensure it is only created once. This improves startup time by a few seconds in some cases.


  • Moved the creation of the jython script engine out of the reporter's "run" method. This should fix a memory leak caused by ThreadLocal entries that never got cleaned up.
  • Upgrade to metrics-graphite 2.1.2


  • Changed encoding to ISO-8859-1 to match the python default


  • Fixed a bug where a batchSize passed to enable was ignored.
  • Recreates the socket on each batch to prevent reaching the 100K byte limit (and a broken pipe)


Initial release.