Home > Blogs > VMware vFabric Blog


The Spring Insight RabbitMQ Plugin

Learn More

 

Spring Insight is currently bundled with SpringSource Tool Suite or vFabric tc Server.

Download STS
Download tc Server Developer Edition

RabbitMQ, vFabric’s message delivery bus, is widely used across n-tiered applications that require a reliable and fast queuing system. Message queues are a useful strategy in modern applications, helping to decouple application components so they can work asynchronously, while the message bus directs transactions between application components or external services. A new RabbitMQ client plugin for Spring Insight helps monitor your application’s behavior when communicating with RabbitMQ servers, and can help you analyze latencies and errors within your application that might not become immediately visible as no end-user interaction is made.

The RabbitMQ Plugin for Spring Insight allows for monitoring RabbitMQ Java client libraries at the code-level. Using this plugin you can monitor your application's performance around publishing and receiving messages through RabbitMQ.

Received messages are elected as "EndPoints" within the application. This allows for monitoring application flows that are triggered by a message receive. A full trace is then available for you to understand how the application behaves for every type of message it receives.  Here’s how these traces look in Insight’s Dashboard.

Screenshot-RabbitMQ-plugin

The above screen shot was taken from a setup that monitors a local Nanotrader demo application. As always, the Applications section in the UI lists the Nanotrader application endpoints. In fact, these endpoints designate a breakdown by exchange and routing-key of the various queues your application attaches to, providing a clear map of incoming message sources and their corresponding business logic flows.

By clicking on each of the endpoints you can browse the traces to conveniently to figure out how your application behaves. In this example we can see the AMQP message meta-data and how it’s resolved into specific business logic – “save order” in this case. We can also see that a NullPointerException (NPE) was thrown and got logged in the trace by the plugin, coloring the endpoint in red.

For more information on how Spring Insight and the RabbitMQ client plugin can help you monitor asynchronous communications inside your application check out the documentation, or download the plugin.

Screen shot 2012-08-06 at 10.17.26 PM

About the Author: Eran Dvir leads the Spring Insight team. He has over 14 years in various R&D management positions in a wide range of organizations. Eran joined VMware in 2010. Prior to leading the Insight team Eran was responsible for innovations at the Herzliya, Israel office. Eran received his education from the Bar-Ilan University, where he obtained his B.Sc. in Computer Science and Biology.

One thought on “The Spring Insight RabbitMQ Plugin

  1. Matthew Baldwin

    Just a quick note for those of you using the plugin for STS 2.9.2 or 3.0, you will need the RabbitMQ Client library installed in the servers directory to make this work properly. The library can be found here:

    http://www.rabbitmq.com/java-client.html

    hth…

    Clarify Note 8/26/12 7:30 AM

    RabbitMQ Insight Plugin Requires the RabbitMQ Library in the servers lib folder
    This library can be downloaded from http://www.rabbitmq.com/java-client.html

    It is installed, in this case, /home/vfabric/springsource/vfabric-tc-server-developer-2.7.1.RELEASE/nano-insight/lib/rabbitmq-client.jar

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>