What is APM?
APM (application performance monitoring) measures what your application does with each request: throughput, error rate and latency per endpoint, plus where the time goes, such as database queries, cache calls and outbound HTTP requests. It works from inside the process, usually through an SDK or OpenTelemetry instrumentation that records traces.
Why APM matters
Uptime checks tell you the site answers; APM tells you why a page takes three seconds. When latency or errors rise after a deploy, APM shows which endpoint, which query and which external call changed.
It also finds problems no outside check can see: an N+1 query pattern, a slow third-party API, or one endpoint that fails for a small share of users while the homepage stays green.
How to measure APM
throughput = requests ÷ minutes error rate = failed requests ÷ total requests latency = percentiles (p50, p95, p99) per endpoint, not the average
Worked example
An orders endpoint served 18,000 requests in a 15-minute window, 54 of which returned a 5xx status. Before the latest deploy its error rate was 0.05%.
- Throughput = 18,000 ÷ 15 = 1,200 requests per minute.
- Error rate = 54 ÷ 18,000 = 0.003, or 0.3%.
- Compared with 0.05% before the deploy, the error rate is now six times higher.
Result: A six-fold rise is a regression worth rolling back even though 99.7% of requests still succeed. APM's deploy markers and traces show which change caused it.
Common mistakes
- Watching averages. A mean latency hides the slow tail. Use percentiles per endpoint.
- Sampling away the evidence. Aggressive random sampling can drop exactly the slow or failed traces you need. Keep the worst traces even if you sample the rest.
- No deploy markers. Without knowing when releases happened, a regression is hard to tie to a change.
- Instrumenting only the web tier. Background workers and queue consumers have performance problems too, and they often hold the same database.
How Vigil handles APM
- Vigil's APM takes traces from its Python (ASGI/WSGI) and Node SDKs or from any OpenTelemetry SDK at
https://puzaricloud.in/otlp/v1/traces. - You get endpoints with latency histograms, stored slow traces with a span timeline, slow queries ranked by total time, slow outbound calls, N+1 detection, Apdex with your own T, and deploy impact.
- Errors from any Sentry SDK land in the same workspace, and Time Detective lines up traces, errors, logs and deploys around one moment.
APM (application performance monitoring): frequently asked questions
What is the difference between APM and observability?
APM is one part of observability: the application's own performance data, mostly traces. Observability also covers logs, infrastructure metrics and real user data, and the ability to ask new questions of all of them.
Does APM slow my application down?
Instrumentation adds some work per request, usually small next to the database and network calls it measures. Batching and sampling keep it low; measure it in your own load test.
Do I need APM if I already have uptime monitoring?
Uptime monitoring tells you from the outside that something is wrong. APM tells you where in the code the time or the errors come from. Most teams use both.