This is part of Solutions Review’s Premium Content Series, a collection of contributed columns written by industry experts in maturing software categories.
Application performance monitoring (APM) no longer means just measuring the performance, availability, and user experience metrics of application software. To truly understand just how well an application is performing, monitoring tools must capture performance metrics that align with and support business objectives.
Enterprises have a mix of commercial and custom applications servicing internal users and external customers, often on a global scale. The best way to ensure a great user experience across the board is by writing error-free code, pushing better applications into production faster, and providing actionable insights into all pre-production and production applications. This all starts in development and includes the following metrics every APM tool should capture.
User Satisfaction / Apdex Scores
The application performance index, or Apdex score, has become an industry standard for tracking the relative performance of an application. It works by specifying a goal for how long a certain web request or application transaction should take. Those transactions are then bucketed into satisfied (fast), tolerating (sluggish), too slow, and failed requests. A simple math formula is then applied to provide a score from 0 to 1.
Your chosen APM solution should automatically track satisfaction scores for every one of your applications and web requests. Presenting scores in a larger range, like 0—100 instead of 0—1, is also desirable, as it makes insights easier to understand and act upon.
Average Response Time
Averages are still a useful application performance metric, but those metrics should be aligned with business goals. The average response time for a digital storefront, for example, could mean the difference between staying in business and closing shop. Everyone from your Ops team to executive leadership wants to know average response times, and the value of your chosen APM tool comes from capturing averages that tell you how performance is impacting business goals.
As noted above, critical application performance incidents can result in significant costs in revenue, time, and brand reputation for your organization. While the last things you want your users to see are errors, a late or faulty response to incidents is even worse.
APM tools monitor errors using three common ways to track this important metric:
- HTTP Error Percent – Number of web requests that ended in an error
- Logged Exceptions – Number of unhandled and logged errors from your application
- Thrown Exceptions – Number of all exceptions that have been thrown
Each method captures error rates, but you want your APM tool equipped to integrate error tracking and logging with full transaction tracing to quickly resolve issues and keep users happy. It is common to see thousands of exceptions within an application, and without preset thresholds and anomaly identification, your team can spend costly time addressing the wrong issue or being late to solving a mission-critical problem.
Count of Application Instances
Cloud computing means your hosted applications scale up and down to accommodate user demand, making it vital to know how many server/application instances are running at any given time. Auto-scaling most certainly saves you money during off-peak times, but your APM tool also needs to recognize and resolve unique monitoring challenges before impacting your bottom line.
For example, automatically scaling applications based on CPU usage may prevent CPU usage from ever getting high by increasing the number of server instances where your application resides. This will make your hosting bill go way up, so you’ll want a programmable APM tool that understands how best to automate resource allocation.
Pretty much every essential performance metric is impacted by increases and decreases in the traffic your application receives. Request rates also provide insights into spikes and inactivity and are useful for correlating to other application performance metrics, making this essential metric key to application success.
A busy API that suddenly gets no traffic at all, for example, could be really bad or simply help you understand the dynamics of how your application scales. The number of concurrent users is a slightly different but relative metric for your APM tool to track, as it provides context and correlates to other essential application metrics.
Application & Server CPU
A basic and critical performance metric, application and server CPU monitoring is an essential part of all monitoring tools. For maximum benefit, your APM tool needs to track per server usage, as well as an aggregate across all individually deployed instances of your application. Essential monitoring metrics work in concert to help your applications deliver a great user experience, so the best APM choices will provide deep observability across the greatest number of hardware and software elements impacting your application performance, and that means your entire infrastructure.
SLAs and monitoring application uptime are fundamental to business success, so measuring if your application is online and available is a key performance metric. For web and online applications, simply scheduling regular HTTP checks is the easiest way to monitor application availability with “ping” checks that look at response times, status codes, and even specific content on your web pages.
Applications written in .NET, C#, and other programming languages that use garbage collection often hide the root cause of performance problems. Garbage collection can actually cause processes to suspend, applications to virtually freeze and CPU usage to soar – unless monitored.
It’s important that your APM solution has the capability to monitor the most popular languages using garbage collection – the Performance Counter of “% GC Time” for .NET applications and JMX metrics for Java – in order to ensure optimal performance.
Every organization is different, and the most useful APM solutions will support business transaction profiling, or tracing, to help analyze the flow of every user transaction. Full transaction tracing enables you to quickly isolate and address performance issues by tracking the user’s journey through your infrastructure and identifying the exact line of code, database query or third-party integrations that negatively impact application performance – giving you the chance to resolve issues before they create a poor user experience.
Analytics and Reporting
Analytics and reporting are at the core of what makes APM data more useful for organizations, providing actionable insights to IT managers, engineers, and anyone else in the business or IT decision-making process. The growing number of remote workers has magnified the challenges IT organizations face and demonstrated to business leaders the importance of high-functioning IT resources to internal users and external customers.
IT organizations leverage analytics and reporting features to help drive business initiatives beyond the user experience, including cost reduction, resource planning, usage, allocation, and lifecycle management. APM analytics and reporting give business leaders real-time access to data that can significantly impact the profitability and impact of business decisions, making it essential for your APM solution of choice to have deep and wide capabilities.
As organizations embrace the importance of the user experience, APM solutions will need to evolve to include more capabilities that provide deep observability, real user monitoring, and other capabilities that impact the digital user experience. In the meantime, Gartner Research provides valuable user reviews of top APM solutions in the firm’s Gartner Peer Insights on APM Reviews & Ratings.
- Essential Application Performance Metrics to Monitor - June 22, 2021