[rabbitmq-discuss] Experimental RabbitMQ Topology Visualiser

Matthew Sackman matthew at rabbitmq.com
Sat Jul 2 18:30:01 BST 2011

On Fri, Jul 01, 2011 at 05:25:53PM +0100, Matthew Sackman wrote:
> If you happen to be running 2.5.1, and you happen to be have the
> management plugin installed (or if not, see
> http://www.rabbitmq.com/plugins.html#rabbitmq-management), then you
> might be interested in removing
> plugins/rabbitmq_management-2.5.1.ez and instead dropping into plugins/
> http://www.rabbitmq.com/releases/plugins/v2.5.1-visualiser-wip/rabbitmq_management-2.5.1-visualiser-20110701.ez

So, 31 unique IP downloads within 24 hours - I guess people like the
idea of being able to see what the topologies are within their brokers.
My plans are generally along the following lines:

0. allow the selection of different vhosts.

1. hovering over a queue or channel should link the queue to its
consuming channels, and vice versa.

2. hovering over any item should produce a tool-tip-style box with all
the other essential stats and details about the item. So for exchanges,
type, arguments; for queues, durable, auto-delete, exclusive, plus the
other stats about the nature of their content; channels, similarly, the
usual suspects.

3. optionally display connections above channels. This is only really
useful if you have multiple channels per connection.

4. the entries in the "disabled" select boxes on the left should be
alphabetically sorted.

5. channels should be grouped by connection.

6. it seems wrong to me somehow that disabling an entire class (say,
queues) does not add the queues that were being displayed to the select
box. It does suggest that those items have just vanished.

7. The bindings, and other links that may be being displayed should be
coloured by their relative activity. Much information about the health
of the system can be conveyed very quickly this way.

Any requests? I liked Alvaro's idea of being able to construct things
through this, but it'll take me quite some time to get that far.

Are there any IE9 or Safari or Opera canvas gurus out there who can
point out what I'm doing wrong to result in those browsers being able to
render exactly one frame, then continue to work (CPU use shows it), but
not actually render subsequent frames? (and no js error is reported)

I have spent quite a lot of time trying to make sure it doesn't eat too
much CPU, but both my desktop and laptop are quite recent machines and
thus rather meaty. Does it work ok on slightly older machines without
bringing them to their knees? Certainly even my desktop starts to
struggle once I have a couple hundred items being drawn - I guess js
interpreters still have quite a way to go in their optimisations.


More information about the rabbitmq-discuss mailing list