Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Monitoring MongoDB Usage in Your Java App

DZone's Guide to

Monitoring MongoDB Usage in Your Java App

TLDR: Popular monitoring solution Plumbr can now give you the insight onto what's going on with your Java applications use of MongoDB

· Java Zone
Free Resource

Bitbucket is for the code that takes us to Mars, decodes the human genome, or drives your next car. What will your code do? Get started with Bitbucket today, it's free.

The foundation of our monitoring solution has been the promise to track down performance problems to the actual root cause. We are glad to announce that the set of root causes we are capable of detecting now includes the most popular NoSQL database MongoDB.

To detect expensive calls to a MongoDB instance, Plumbr monitors DBCollection and MongoCollection interface methods such as find() and findAndModify(). When a call via such an API starts affecting the end user experience, the operation is listed as a root cause exposing the MongoDB operation called along with the call stack from the thread executing the operation.

The exposed information would for example be exposed via the list of root causes detected by Plumbr. In the following example, Plumbr has monitored the application and detected eight different MongoDB operations to be the root cause for poor user experience. The total number of user transactions impacted has been 2,774:

MongoDB slow operations

As you can notice from above, the list of most expensive MongoDB operations is prioritized by the impact, measured in number of times end users were suffering from this particular operation. As Plumbr groups expensive operations triggered by the same root cause together, we can rank the expensive operations based on the number of times a specific operation has caused poor user experience.

Zooming in to a specific root cause, you are exposed to the following:

  • Which end-user facing services in the application were impacted?
  • How bad was it, exposed via latency distribution of the particular operation
  • What were the parameters to the MongoDB operation executed
  • Where in the Java code was the call executed, zoomed in to the single line.

Supporting MongoDB is just one of the news we are happy to share with you soon. We are adding different root cause types detected on monthly basis, so stay tuned for more. As a hint, we have the support for Lucene indexes and filesystem I/O to be announced soon. So far, just go and grab your free trial and start exposing the way your MongoDB integrations work!

Bitbucket is the Git solution for professional teams who code with a purpose, not just as a hobby. Get started today, it's free.

Topics:
java ,garbage collection

Published at DZone with permission of Ivo Magi, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}