APM (application performance monitoring)
Also called application performance monitoring, application performance management.
Tools that measure how fast and how reliably an application handles requests, and show which part of the code or which call is slow.
Last updated
What it is.
An APM agent or SDK runs inside your app and records each request: how long it took, which database queries and external calls it made, and whether it failed. Dashboards then show response times, error rates and throughput, and let you open one slow request to see where the time went.
APM is one part of observability, alongside logs and metrics. Modern APM is built on distributed tracing, which follows one request across several services.
Why it matters
Users notice slow pages before teams do. APM shows which endpoint got slower after a release, which query needs an index and which third-party API is dragging the app down. It turns performance from guesswork into a ranked list of fixes.
In a product build
We add tracing from the first deploy, with a request ID that also appears in logs, and set alerts on response time and error rate for the few endpoints that matter most. Sampling keeps the cost of the APM tool in check as traffic grows.
Common mistakes.
- 01
Tracking averages only. The slowest one percent of requests is where users suffer.
- 02
Sending every trace at full volume and getting a large monitoring bill.
- 03
Alerting on everything, so real alerts get ignored.
Related terms.
- ObservabilityHow well you can understand what a running system is doing, and why, from the data it gives off: logs, metrics and traces.
- Load balancerA service that spreads incoming traffic across several servers, and stops sending traffic to any that fail their health checks.
- Cold startThe extra delay when a serverless function or a new server instance has to start up before it can handle a request.
- Connection poolingKeeping a set of open database connections and sharing them across requests, instead of opening a new connection for each one.
- AutoscalingAutomatically adding or removing computing capacity, such as servers or containers, as the load on a system goes up or down.
Guides and pages
Browse the full glossary or read answers to common questions.