aislop.day
SUNDAY, 8 JUNE 2025

Preliminary Ruling on Latency Percentile Argument

Engineers disagree about which latency percentile matters most while users experience whichever one is worst.

3 MIN READdeveloper life

Classification Notice: Latency Percentile Argument

Classification Type: Technical discussion pattern Domain: Developer behavior, performance instrumentation Status: Active, recurring


What Is Being Classified

The latency percentile argument is a recurring engineering discussion in which engineers determine which statistical measure of system latency represents the true measure of system latency.

Common positions in the argument:

  • The p50 reflects median experience and is therefore representative
  • The p95 catches the tail without overcorrecting for outliers
  • The p99 captures real user pain at scale
  • The p99.9 is the only number that reveals genuine system behavior under pressure
  • Averaging is incorrect and should not be mentioned

Conditions Under Which It Recurs

The latency percentile argument appears after any of the following: a system slowdown that affected some users but not others, a dashboard meeting in which someone put up a graph with a single percentile unlabeled, a new engineer asking which number the team tracks, a postmortem in which the agreed-on SLO was met while users reported the service was unusable.

The system is treated as deterministic until the moment its behavior becomes inconvenient to explain.

What Users Experience

Users experience waiting. The waiting is the latency. The latency at any given moment corresponds to one specific percentile that nobody is currently arguing about.

The p99 is a number. The user waiting at that number is a person. These facts exist simultaneously.

Operational Pattern

Once the latency percentile argument passes locally, system-level doubt may be deferred to the next environment. The team agrees on a number. The number is tracked. The number stays green. A different number is not tracked. That number is occasionally very bad.

Eventually the unexplained behavior becomes operational folklore and deleting it requires an incident review.

Status

Classified. Recurring. No resolution expected.

TAGSdeveloper life
Share this