/graphite-amqp-tools

A set of tools for getting Graphite data in and out of AMQP message brokers

Primary LanguageC

Basically wrapping librabbitmq/rabbitmq-c with some code to make the
following pair of daemons that should be reasonably efficient, have low
memory usage, and not fall over at the faintest whiff of some new AMQP
feature:

graphite-enqueue - provides the graphite TCP line receiver protocol and
                   forwards all received messages on to a given AMQP exchange.
                   Uses libevent2 to handle multiple clients simultaneously.
                   Supports using the metric name as the routing key or using
                   an arbitrary routing key and keeping the metric name in the
                   message payload.

graphite-dequeue - does the opposite, receives messages from a given AMQP
                   queue bound to an exchange (creating both if necessary)
                   with arbitrary bindings and posts them on to a given
                   graphite TCP line receiver. Supports setting various
                   extended queue attributes such as mirroring and message TTL.