APM tools monitor application performance to make sure they are operating as expected and that end-users are getting a good quality of service. The tools look at transactions and report on any bottlenecks that might be impacting performance.
Many components of an application, or the infrastructure that hosts it, can affect performance. As a result, most APM solutions are suites of tools and utilities that aim to give an overall view of how monitored applications are performing. Some APM suites even include code or libraries that can be incorporated into applications to monitor them.
An APM solution should include the following components:
- End-user experience monitoring - detects any issues that impact on end-user experience.
- Runtime application architecture discovery, modelling, and display - analyzes application architecture to identify performance bottlenecks.
- Business transaction modelling - monitors transaction flow through application components to highlight where issues occur.
- Component deep-dive monitoring - tools and utilities to do a deep dive into any issues highlighted in the previous points.
- Analytics tools - tools to analyse the data generated from the previous points and provide expert guidance in response.