Databases have always been the backbone of applications – both web and enterprise. Now, more than ever before, you need to know not just overall statistics about your database, but you must identify how database performance interacts with the network, operating system, servers, configuration, and even third party dependencies. To resolve issues with databases, engineers need to identify long-running, unoptimized/poorly indexed, or heavily resource-consuming queries, and isolate the source of the issue, quickly.
We’re proud to announce the preview of zero-instrumentation enhanced database visibility for SQL databases in Splunk Application Performance Monitoring (APM). This capability helps you easily find problematic queries, compare aggregate trends in query performance against historical time windows, and correlate queries against application components, such as incoming service or endpoint, availability zone, or infrastructure tags, all without requiring any instrumentation. Along with Splunk Synthetic Monitoring, Splunk Real User Monitoring (RUM), Infrastructure Monitoring, Log Observer, and Splunk On-Call, this enhanced database visibility helps Splunk users understand the impact of poor performance on services, endpoints, and business workflows, in production environments.
Identifying Database Performance Issues
These improvements to Splunk APM let you find database issues quickly and view them in context with service performance, speeding your time to resolution in modern distributed systems, all without requiring instrumentation of your database. Here’s an example of how to identify database-related problems in Splunk APM:
Our APM service maps show a high amount of latency (46.21 seconds) between the order processor and the database, which impacts checkout. Clicking into the database provides context of the most problematic query in that, or any, specific database.
By clicking “expand” in the Database Query Performance feature (right side screen) we can investigate the scope and radius of the impact. Database query performance clearly shows performance of our slowest or highest execution queries over time and against historical time periods to help us isolate the problematic query.
The Tag Spotlight section on the bottom right provides directed troubleshooting to help us understand the issue further. Here we receive additional context like the table that the slow queries were acting upon, and the services and business workflows impacted by the performance degradation of this query. We see the Checkout Business Workflow, identified by the API call to the checkout service, was severely impacted by this issue and hindered end-user experience.
We can confirm that by focusing the service map only on the Checkout workflow and seeing the impact on the external client during the time window of my incident.
Splunk APM’s Enhanced Value with Database Query Performance
Any APM platform can tell you when queries are taking a long time to run. What Splunk APM offers on top of that is a platform built for the distributed nature of modern applications. Splunk APM provides you with:
- Pinpoint accuracy as to what service is making the problematic database calls, without requiring any instrumentation of your database or applications
- Automatic service inference and query normalization, enabling aggregate views of performance
- The ability to slice-and-dice to specific attributes of problematic calls, or specific customer subgroups, regions, using our powerful Tag Spotlight feature
- Visibility across your entire infrastructure, no matter how your application is built – from monolithic applications running on-prem to fully microservice applications across multiple clouds and serverless functions.
Splunk APM’s enhanced database visibility features let you determine the root cause of database performance issues faster, with less guessing and more clear solutions. Database performance can be one of the most difficult things to troubleshoot and with Splunk APM you can get the answers you need in real-time to make your users happier.
Application performance is a mixture of multiple variables, including technology, processes, and people operations. Splunk APM enables you to look across your entire business, and our new enhanced database visibility features let you determine database performance in any sort of environment, for any application, in real-time. Through increased visibility into database performance across your infrastructure, your team can better track a system’s health, reducing your mean time to acknowledge and time to resolve.
We’re very excited to share these new database visibility features with you. They are available as a preview in Splunk APM for SQL-based databases today, with support for more databases to come. If you’re not already using Splunk APM and the rest of Splunk Observability Cloud, why not try it today?
To learn more about this feature and get started, simply make sure you have an integration enabled for your supported database. For example, here are instructions to integrate MySQL.