Back in April this year, we announced new monitoring support for NoSQL tecnhnologies like Cassandra and Memcached which was received really well by our customers. Due to further demand we’ve seen over the past few months from prospects and customers we’ve officially added MongoDB to our platform support, thus extending our coverage of NoSQL technologies.
For those not familiar with MongoDB, here’s how it differs from the traditional relational database just so you know what data and context AppDynamics provides for monitoring MongoDB applications:
With AppDynamics Pro 3.3, we’re essentially letting our users understand business transaction latency of MongoDB (BSON) queries along with how those queries are serviced by their MongoDB databases. Think of it as similar visibility to what we currently provide for JDBC queries and relational databases. Here’s a quick glimpse of what you can expect with AppDynamics Pro 3.3 when monitoring your MongoDB based applications:
Auto-Discovery and Mapping of MongoDB Databases
AppDynamics Pro will automatically discover and map MongoDB databases to your application and business transaction flows. This gives you a real-time visualization of what your application and your business transactions look like when they interact with MongoDB database. With this unique visibility (as shown below), you can also identify latency over the BSON protocol between your application servers and MongoDB Databases as well as the response times from each individual MongoDB Database.
Troubleshooting Slow Application Performance
A unique part of AppDynamics Pro is the ability to troubleshoot performance issues both from a business transaction and infrastructure perspective. If a business transaction is slow, the user can see how this business transaction executes through each JVM/CLR with complete call stacks showing the exit calls to MongoDB databases. The screenshot below shows a call stack of a business transaction that took 41 milliseconds to execute. You can see that 11ms (26.8%) of the response time is spent calling MongoDB.
Visibility of MongoDB Find Queries
It’s good to know how much time is spent in each MongoDB Database. However, it’s even better to know the actual find queries that were submitted by your business transactions so you get a deep understanding of what exactly was invoked. For example, clicking on the BSON external call link in the above screenshot reveals the actual MongoDB Query executed by the business transaction. This is excellent visibility for understanding which document and attributes were queried and the latency associated.
Visibility of MongoDB Insert Queries
AppDynamics also provides the same visibility for MongoDB insert queries so you can again see the data being persisted and the latency associated with the MongoDB call. This visibility can be configured to hide specific data attributes for security purposes.
Trend MongoDB Performance over-time
The AppDynamics metrics viewer allows the user to plot and trend MongoDB performance and throughput over-time so you can understand whether MongoDB is scaling as your application throughput increase. Its also possible to compare both the latency of Insert and Find BSON queries to see how they contribute to your overall application performance.
In summary, AppDynamics Pro 3.3 allows you to gain visibility into how your application and its business transactions are being serviced by your application server and MongoDB databases. It provides granular call stack visibility into the latency of MongoDB BSON queries and how they execute. It also allows you to trend MongoDB performance over-time, so that when slowdowns occur you can identify root cause in minutes. And it does all this out of the box so you don’t need to worry about configuration or overhead!
If you’re interested in getting visibility of how your application and business transaction performance is impacted by MongoDB, you can request a trial of AppDynamics Pro. If you’re super keen and want to get your feet wet straight away you can download our free product AppDynamics Lite.