Monitoring MongoDB usage in your Java app
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:
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!