How your software applications perform is an extremely important factor in determining end-user satisfaction. APM metrics are the key indicators that help business-critical applications achieve peak performance.
This article explains APM metrics, their importance, and the core APM metrics used by modern software systems to measure and optimize the performance of their applications. We also discuss:
One time of IT monitoring, application performance monitoring (APM) is a critical process related to modern software applications. APM monitors and collects real-time information about the performance of applications and their underlying infrastructure.
The goal of APM is to ensure that business-critical applications work as expected and operate without disruptions or downtimes.
APM metrics are the key performance indicators (KPIs) that assess the health and performance of the application. IT teams use several key API metrics to establish a standard or baseline of application behavior.
Deviations from these metrics help teams detect application issues in advance. Additionally, APM enables teams to troubleshoot any incidents before they impact the end-user experience.
(Confusing metrics and KPIs? Get to know the differences.)
APM metrics provide the necessary information to understand and improve the performance and reliability of software applications. Let’s consider why APM metrics are important in modern IT and software development landscapes.
Now that we understand what APM metrics can do for your operations, let’s move into the metrics themselves. We’ll look at three sets of APM metrics:
(Related reading: SRE metrics & RED monitoring: rates, errors & durations.)
APM metrics can vary according to factors, like:
Nonetheless, most software applications use a common set of APM metrics, which we will discuss in this section.
Apdex score is a standard measure of how satisfied end-users are with a particular web application and its service response time. This numerical measure is a value between 1 to 0, where:
The Apdex threshold value must be determined based on industry standards and end-user expectations, indicating the tolerable response time value. Overall, the Apdex score simplifies assessing application performance.
The request rate is the number of requests the application or servers receive within a particular time period. This metric helps IT teams understand the application load. Therefore, it is crucial to identify the time frames within which the application is ready to accommodate higher loads. Usually, we can say this:
Going one step further, you can identify any anomalies in user traffic by analyzing the request rates. For example, a higher request rate could indicate cybersecurity issues like DDOS attacks. Meanwhile, a higher number of requests from one IP address can signal an attempt to hack the account.
Response time is another important metric that measures the time taken to complete or send a response to a particular user request. For example, users expect a minimal response time when they perform a web transaction or load a page.
Response time depends on various other factors, such as:
Response time is typically measured in milliseconds or seconds, and typical threshold values can be 0-100 milliseconds for web transactions.
The error rate is the percentage of errors observed in the application. Error rates apply to:
For example, suppose the percentage of 404 HTTP timeout server errors detected is greater than 5% for the last 50 API requests. This indicates some serious issues in the application infrastructure or codebase that require immediate attention.
Error rates help prioritize issues significantly, affecting the end-user experience and enhancing application reliability.
Apart from the core APM metrics, the following are additional APM metrics that allow us to understand the performance of the underlying application infrastructure.
CPU usage is the amount of CPU processing power in instances or computer applications. (When coupled with memory and disk usage, this metric is also called resource usage.)
CPU usage is normally measured by percentage values. For example, higher CPU usage, such as 70%, indicates heavy processing that can degrade application response times and may require more capacity.
Cloud-native applications often use this metric to automatically scale up or down the application resources to manage costs. Furthermore, fluctuations in CPU usage can indicate various conditions, issues, and behaviors within the system that may require attention.
In APM, throughput is the amount of data or transactions the application processes within a specific time period. There are several units of measurement for throughput. For example, Transactions per second (TPS), or the number of transactions completed within a second, and Requests per second (RPS).
Throughput helps teams to:
Uptime is a measure of the availability of the applications and services to the end users. It is usually indicated by a percentage value in cloud environments. For example, the monthly uptime percentage for Amazon computing services is between 90% and 99%.
Uptime is important to measure the reliability of the cloud service and ensure that it meets the agreed service level agreements (SLAs).
Applications with higher uptime percentages are stable and reliable. On the other hand, lower uptime percentages can indicate potential issues with infrastructure, software, or other components that may need immediate attention to prevent service disruptions.
This is a cloud-specific metric that indicates the number of available nodes that are operational and ready to accept requests or perform tasks within a given time period. It shows the available capacity to handle the current workload.
There are several benefits of tracking this metric. For example, node availability helps devise more effective disaster recovery plans. It is done by developing strategies to quickly restore service during an outage by identifying trends in node availability.
Instance count is the number of application instances or servers where the application is hosted and running. This metric is specifically monitored and measured in cloud-hosted applications such as AWS or Azure-hosted applications.
If the application is configured with auto-scaling, the instance count goes up and down according to the user demand.
You can get an idea of application demand, performance, and potential bottlenecks by observing the pattern of instance count changes during a particular time. For example, a sudden increase in the instance count may indicate:
Apart from the core APM metrics, the following are some other APM metrics that allow comprehensive application performance monitoring.
This metric provides an overview of database queries executed within the applications and services. It indicates the total number of queries executed within a specific time period and also provides their performance. Furthermore, it can show the top queries that contribute to most of the application load.
So, we can summarize the database queries metric as one that helps developers and DevOps teams identify slower or inefficient queries that impact application performance. Analyzing top queries allows teams to first focus on optimizing the most resource-intensive queries.
Transaction tracing assesses the transactions or requests within the application as they pass through the various components of it. It includes:
This metric allows DevOps and development teams to get an overview of how requests are processed from the start to the end of the application. This recording of the execution path of transactions or requests enables troubleshooting any issues, potential bottlenecks, or failures.
(Learn all about distributed tracing.)
Some applications built using Java, .NET, or other languages can use GC to detect heavy memory usage or leaks. It helps resolve memory management issues that could lead to performance degradation.
APMs are critical for assessing an application and its infrastructure performance. There are several APM metrics used by modern software applications and infrastructure-specific APM metrics, as discussed in the article. Furthermore, several other APM metrics software systems can be utilized for a more comprehensive monitoring experience.
APM metrics are important for identifying performance issues proactively, resource optimization, improving application reliability and availability, and providing a seamless user experience.
See an error or have a suggestion? Please let us know by emailing ssg-blogs@splunk.com.
This posting does not necessarily represent Splunk's position, strategies or opinion.
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
Founded in 2003, Splunk is a global company — with over 7,500 employees, Splunkers have received over 1,020 patents to date and availability in 21 regions around the world — and offers an open, extensible data platform that supports shared data across any environment so that all teams in an organization can get end-to-end visibility, with context, for every interaction and business process. Build a strong data foundation with Splunk.