As a cloud application diagnosis service, Application Performance Management (APM) supports full-link topology display, tracing, transaction analysis and insights, and device-side analysis.
- Visible topology: APM displays application call and dependency relationships in topologies. Application Performance Index (Apdex) is used to quantify user satisfaction with application performance. Different colors indicate different Apdex value ranges, helping you quickly detect and locate performance problems. Figure 1 shows the application relationships, call data (service and instance metrics), and health status.
Microservice name: Tier2; number of instances: 3; container type: Tomcat
Description: A circle indicates a microservice and is divided into 3 sections based on the number of instances. Different colors indicate different instance statuses. Red indicates abnormal, yellow indicates warning, and green indicates normal.
- Inter-application calling: APM can display call relationships between application services on the topology. When services are called across applications, APM can collect inter-application call relationships and display application performance data.
- SQL analysis: APM can count and display key metrics about databases or SQL statements on the topology. APM provides graphs of key metrics such as the number of SQL statement calls, response time, and number of errors. Based on these graphs, you are able to analyze database performance problems caused by slow and incorrect SQL statements.
- JVM metric monitoring: APM can count and display JVM metric data of instances on the topology. APM monitors the memory and thread metrics in the JVM running environment in real time, enabling you to quickly detect memory leakage and thread exceptions.
- Tracing: APM comprehensively monitors the number of calls, response time, and number of errors, and displays the service running track and status, helping you quickly demarcate performance bottlenecks and faults. As shown in Figure 2, if an exception (the red service in the topology) occurs, locate root causes based on the call status, duration, and API call information.
- Method tracing: APM dynamically traces a method of a class. When the method of this class is called, the APM probe collects the call data of the method based on the configured method tracing rule and displays the call data on the tracing page. Method tracing is used to help application developers locate method-level performance problems online.
Transaction Analysis and Insights
- Transaction analysis: APM analyzes the transactions (full-stack process from the browser or mobile device to the server) in real time, displays key metrics including throughput, error rate, and latency, and uses Apdex to evaluate application performance, visually reflecting users' satisfaction with applications. If transactions are abnormal, alarms are reported. For transactions with poor user experience, locate problems through topologies and tracing. Figure 3 shows the transaction status of an e-commerce application. If the health status of a transaction is abnormal, user experience is poor.
- Transaction insights: APM uses tracing data to implement big data cluster analysis and generate exception classes. After the transaction insights function is enabled, 100% tracing data is collected for analysis. During O&M, you can enable the insights function for key transactions. Based on the obtained exception classes and historical metric data learned using intelligent algorithms, APM identifies both success and error patterns, helping you locate root causes.
- Mobile: This function provides clear monitoring data about mobile app performance. By displaying performance data from multiple dimensions, such as Apdex, throughput, number of errors, crash, and Application Not Responding (ANR), this function enables you to quickly locate performance bottlenecks and optimize performance.
- Browser: This function provides clear monitoring data about frontend performance. By displaying site performance data from multiple dimensions, such as Apdex, throughput, and number of errors, this function enables you to quickly locate performance bottlenecks and optimize performance.