[rabbitmq-discuss] A project I've been working on

Alvaro Videla videlalvaro at gmail.com
Mon Mar 21 15:10:38 GMT 2011


Hi list,

Lately I've been working on a project to improve the monitoring and administration tools for RabbitMQ.

So for example, we have an RPC setup. We would like to know how many messages is the RPC processing per minute, what's the fastest reply it generated, what was the slowest one, and so on.

I've implemented a process that can watch the RPC Server and produce some statistics based on the collected information.

Another interesting use case is to be able to log or inspect the messages send to a consumer, say if you want to do that during a certain period of time where we want to debug the application. Once we have debugged it, we would like to remove the *inspection* step and send the messages to the final destination directly to avoid overhead. Of course we don't want to stop the producer or consumer applications and change the code to accomplish that.

I think this can be really helpful when monitoring message flow across the network. I'm basing my implementation on the patterns explained in the "Enterprise Integration Patterns" book.

I've created very basic demo videos where I showcase what my proof of concept can do so far.

In the first video I implement the Smart Proxy pattern(http://www.eaipatterns.com/SmartProxy.html), where I track the messages on a RPC setup and generate stats based on them.

http://vimeo.com/20966661

On the second video I implement the Detour pattern(http://www.eaipatterns.com/Detour.html), that I use to detour messages, to be able to introduce inspection steps.

http://vimeo.com/20966841

Both the Detour Process and Smart Proxy process are controlled via a Control Bus that tells them to become active, to listen on an exchange and publish to another exchange and so on.

I would like to get your feedback about what do you think regarding the "usefulness" of this project.

I know the web interface that it has now is pretty ugly and everything looks very geeky now, but I think the main idea of having a Web based Control bus where we can activate/deactivate consumers and so on is quite interesting.

Looking forward for your feedback,

Alvaro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110321/6303f90c/attachment.htm>


More information about the rabbitmq-discuss mailing list