/metrics-model

Scala representation of Dropwizard Metrics model, JSON input + InfluxDB output

Primary LanguageScala

Scala model of Dropwizard Metrics

The purpose of this project is to provide a model of Dropwizard Metrics as a family of Scala case classes a facility for decoding JSON representation of those, generated by metrics-json module and another facility for encoding their contents into InfluxDB line protocol

Tools used

Many thanks to Alec Zorab and Miles Sabin for answering my questions on gitter!

Caveats

In Dropwizard Metrics, the most general metric type, Gauge is parametric in the type of it's value. This means that JSON representation of it provided by metrics-json may contain arbitrary JSON data. Since the intended target of the data is InfluxDB, only a limited set of gauge data types is sensible. At this point, JSON parser supports only numeric (arbitrary precision) gauges, and gauges that contain (possibly empty) list of strings. This second type is used by metrics-jvm module to report thread deadlocks.