I think this is really cool, and I like the ability to wire tap the going ons of Rabbit without touching the original program. I&#39;d lean towards having this be a plugin.<div><br></div><div>-J<br><br><div class="gmail_quote">
On Mon, Mar 21, 2011 at 9:10 AM, Alvaro Videla <span dir="ltr">&lt;<a href="mailto:videlalvaro@gmail.com">videlalvaro@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word">Hi list,<div><br>Lately I&#39;ve been working on a project to improve the monitoring and administration tools for RabbitMQ.<br><br>So for example, we have an RPC setup. We would like to know how many messages is the RPC processing per minute, what&#39;s the fastest reply it generated, what was the slowest one, and so on.<br>
<br>I&#39;ve implemented a process that can watch the RPC Server and produce some statistics based on the collected information.<br><br>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&#39;t want to stop the producer or consumer applications and change the code to accomplish that.<br>
<br>I think this can be really helpful when monitoring message flow across the network. I&#39;m basing my implementation on the patterns explained in the &quot;Enterprise Integration Patterns&quot; book.<br><br>I&#39;ve created very basic demo videos where I showcase what my proof of concept can do so far.<br>
<br>In the first video I implement the Smart Proxy pattern(<a href="http://www.eaipatterns.com/SmartProxy.html" target="_blank">http://www.eaipatterns.com/SmartProxy.html</a>), where I track the messages on a RPC setup and generate stats based on them.<br>
<br><a href="http://vimeo.com/20966661" target="_blank">http://vimeo.com/20966661</a><br><br>On the second video I implement the Detour pattern(<a href="http://www.eaipatterns.com/Detour.html" target="_blank">http://www.eaipatterns.com/Detour.html</a>), that I use to detour messages, to be able to introduce inspection steps.<br>
<br><a href="http://vimeo.com/20966841" target="_blank">http://vimeo.com/20966841</a><br><br>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.<br>
<br>I would like to get your feedback about what do you think regarding the &quot;usefulness&quot; of this project.<br><br>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.<br>
<br>Looking forward for your feedback,<br><font color="#888888"><br>Alvaro</font></div></div><br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><br></div>