RabbitMQ Java Client Library Now Supported by New Relic Java Agent

We are pleased to announce that starting with version 3.9, the New Relic Java Agent supports the RabbitMQ Java client library. New Relic now gives you visibility into RabbitMQ client operations both for sending and receiving messages.

Background information

One way to increase responsiveness of Web applications is to delegate work to background processes. Message queues are commonly used for this inter-process communication. In the context of message queuing systems, applications typically interact with message brokers to send and receive messages. The RabbitMQ Java client library allows Java applications to interface with message brokers that implement the Advanced Message Queueing Protocol (AMQP). The New Relic Java agent now shows you messages sent and received using the RabbitMQ client library. With this visibility, you can see the number of messages handled by your application, and the time your application spends communicating and processing messages. Specifically, the agent reports the time spent publishing messages and processing dequeued messages, as well as message counts. The entry points supported are basicPublish (used to publish a message) and basicGet, nextDelivery, and handleDelivery (used to receive a message). These two types of operations are labeled put and take in the UI, respectively.

Features

Queue operations are displayed in the transactions view. Put and take metrics appear in the breakdown table, categorized as MessageBroker metrics. rabbitmq1

The Transaction trace summary may also display put and take operations in the slowest components section.

rabbitmq2

The Transaction trace view offers a dedicated messages tab. In all views, operations that interact with temporary queues are conveniently grouped and reported. rabbitmq3 Download and install the latest version of the New Relic Java agent today, and start monitoring your RabbitMQ client activity.

Plus, you can get additional monitoring of your RabbitMQ infrastructure with the free RabbitMQ plugin for New Relic, published and supported by Pivotal, the corporate parents of RabbitMQ.

Sebastian Ramirez is an engineer on the Java agent team. Sebastian has a passion for clean code and solving interesting problems. He enjoys performing branch surgeries with Git, binary-searching suspects, and endlessly reviewing his CS books. He is also serious about code reviews. View posts by .

Interested in writing for New Relic Blog? Send us a pitch!