Field notes
How to read p95 latency without panicking every spike
A short field guide to separating noisy percentile bumps from genuine integration degradation when you watch API latency day to day.
Percentile charts look decisive until a single batch job or a partner maintenance window paints a dramatic spike. The first question is not “how do we fix this instantly” but “what changed in the traffic mix?”
Start by comparing p50 and p95 side by side for the same window. If p50 holds steady while p95 climbs, you are usually looking at a slow tail — a subset of calls hitting a congested dependency, a cold cache path, or a retry storm — not a wholesale slowdown.
Next, segment by route and by caller. Integration problems rarely distribute evenly. A partner webhook that runs twice an hour can dominate a global p95 while your checkout path stays healthy. Route-level views keep leadership conversations grounded in the journeys that matter.
Finally, set a quiet period for investigation. If the spike lasts under one measurement interval and coincides with a known deploy or partner window, log it and move on. Persistent elevation across two or more intervals deserves a latency audit of the affected hops.
App Integration uses this same reading discipline during Reliability Assessments: percentiles are evidence, not alarms by themselves. They become actionable once you know which users, which partners, and which retries sit inside the tail.