Foreword

You'll notice that almost anything mentioned here are extensions for Graphite. This is because metrics2.0 originated out of that ecosystem. However by now metrics2.0 aims to cover IT/monitoring systems in general, not just graphite.

Protocol implementations

carbon2.0

In simple protocols like the carbon protocol, we can serialize the structured metric in a string representation that's compatible with graphite:
intrinsic_tags  meta_tags value timestamp

site=mydomain mtype=rate unit=Req/s host=web12  agent=statsdaemon1 234 1234567890

raintank-messagepack

raintank.io is building an open source metrics2.0 protocol in Golang using messagepack encoding. It's a work in progress, currently undocumented and can be currently here.

Tools that currently support metrics 2.0

Statsdaemon (metric aggregator)

vimeo/statsdaemon is a statsd-like aggregator for graphite. If it detects input metrics to be in metrics 2.0 format, it will report the output in metrics 2.0 format too. So for example a metric with metric_type=count and unit=Req will result in a computed rate metric with tags metric_type=rate and unit=Req/s.

Graph-Explorer (Graphite dashboard)

Graph-Explorer is the prototypical metrics 2.0 dashboard implementation for graphite. It leverages a database of metrics 2.0, which can be populated by carbon-tagger or structured_metrics (see below). For given input queries, it takes care of the retrieving of metrics, grouping metrics into graphs, aggregations, processing (unit conversion etc), setting graph titles and labels, etc; and provides complete interactive graphs, dashboards and alerting rules based with very little manual work.

Metricsd (agent)

metricsd: Inspired by diamond, golang metrics collection agent with native metrics2.0 support.

Carbon-tagger

Carbon-tagger is a service that you can put in your carbon2.0 pipeline, it automatically maintains a database of all metrics 2.0 it sees, so that you can query it, e.g. with Graph-Explorer.

Structured Metrics

structured_metrics is a small python utility that comes with Graph-Explorer, it updates metrics 2.0 in a database by parsing legacy graphite metrics. I.e. you can use this to keep using your old, existing plugins as metrics 2.0. It comes with plugins for diamond, collectd and openstack, it's easy to add your own.