Guide
What is application performance monitoring?
Application performance monitoring, usually shortened to APM, measures how long operations in your software take and breaks that time down into the work that produced it, so that a slow request becomes a specific slow query or call rather than a general complaint.
Why averages mislead
A mean response time is dominated by the many fast requests and says almost nothing about the few slow ones — which are the requests users actually notice and complain about. An endpoint averaging 180 milliseconds can have a P95 of three seconds, and the average will never show it.
Reading percentiles
P95 latency is the time under which 95 percent of requests complete. P99 is the same for 99 percent. The gap between P50 and P95 describes how consistent your application is; a wide gap usually means a resource contention or an unbounded query somewhere.
- P50: the typical request
- P75 and P95: the experience of your slower users
- P99: the tail, where timeouts and abandonment live
- The P50-to-P95 gap: how consistent the system is
Traces and spans
A trace is the record of one operation broken into spans — middleware, handler, each database query, each outbound call. Rendered as a waterfall, the shape of the problem is usually obvious: one very long span is a slow dependency, fourteen identical short spans is an N+1 query.
Where ErrorDock fits
ErrorDock reports P50 through P99 and the error rate per endpoint, from spans sent by its JavaScript SDKs or by OpenTelemetry, shows each trace as a span waterfall, and compares P95 before and after each release.
Frequently asked questions
- What is a good P95 latency?
- It depends entirely on the operation. A useful rule is to compare an endpoint against its own history rather than against an absolute target: a P95 that moved 80 percent after a release is a problem regardless of its value.
- What is an N+1 query?
- A pattern where code runs one query to fetch a list and then one additional query per item in it. In a trace waterfall it appears as many identical short spans in sequence.
Related
- Find the work behind the wait. Explore transaction timing and trace waterfalls alongside errors, sessions and releases, so you can investigate slow application paths with context.
- What is application monitoring? Application monitoring covers the signals that describe whether software is working: errors, performance, availability and usage. How the pieces fit together.
- ErrorDock for ASP.NET Core. Add ErrorDock to an ASP.NET Core application in two lines for exception capture with request context, and export OpenTelemetry spans for endpoint latency percentiles and Entity Framework Core queries.
Bring your application into focus.
Tell us about your stack. We will help define the right beta setup for your first project.