An opinionated tracing plugin for RabbitMQ management. Build it like
any other plugin. After installation you should see a "Tracing" tab in
the management UI. Hopefully use is obvious.

Configuration
=============

There is two configuration options:

directory: This controls where the log files go. It defaults to
"/var/tmp/rabbitmq-tracing".

username: name of the user as which to create queues and bind to the
tracing exchange. Obviously this user will need to exist and have
permission to do those things.

Performance
===========

On my workstation, rabbitmq-tracing can write about 2000 msg/s to a
log file. You should be careful using rabbitmq-tracing if you think
you're going to capture more messages than this. Of course, any
messages that can't be logged are queued.

The code to serve up the log files over HTTP is pretty dumb, it loads
the whole log into memory. If you have large log files you may wish
to transfer them off the server in some other way.

HTTP API
========

GET            /api/traces
GET            /api/traces/<vhost>
GET PUT DELETE /api/traces/<vhost>/<name>
GET            /api/trace-files
GET     DELETE /api/trace-files/<name>    (GET returns the file as text/plain,
                                           not JSON describing it.)

Example for how to create a trace:

$ curl -i -u guest:guest -H "content-type:application/json" -XPUT \
  http://localhost:55672/api/traces/%2f/my-trace \
  -d'{"format":"text","pattern":"#"}'

