What does a latency budget give you that a latency target does not?
Show the full answer Hide the answer
What is being tested
Whether you understand that allocation prevents the failure mode a target cannot.
The difference
A target says "this page must load in 800 ms". A budget allocates it: 200 ms for the network, 60 ms per backend call for four calls, 150 ms for render, 150 ms of headroom.
What allocation prevents
Degradation by accretion. Each addition is individually reasonable — one more service call, one more enrichment, one more third-party script — and none of them individually breaks the target.
With a budget, a new dependency consuming 80 ms is visible immediately as consuming a tenth of the page's allowance, and someone has to say where it comes from. Without one, the target is met until suddenly it is not, and nobody can attribute the regression to any single change.
What makes a budget work
Enforced in CI where possible, so a regression fails a build rather than being noticed a quarter later by users in the furthest region.
Allocated per component with an owner, so the conversation is "your service's budget is 60 ms and you are at 90" rather than a general complaint about performance.
Measured where the user is. Server-side timing excludes DNS, TLS, the client network and rendering — most of what the user experiences — so a budget measured at the server can be met while the experience degrades.
Expressed at a percentile, not an average, because the average describes nobody's experience.
The related budgets worth having
Bundle size for client applications, since JavaScript is expensive to parse and execute on low-end devices — where the users who suffer are invisible in a measurement taken on a developer machine.
Query count per request, which catches N+1 patterns automatically. A request issuing 400 queries should fail a test, and this is one of the highest-value automated checks available.
Third-party script budget, since those are frequently the largest performance liability and are outside your control.
What a strong answer adds
That a budget also makes the fan-out arithmetic explicit. If a page makes 20 parallel calls each with a p99 of 1 second, roughly 18% of page loads exceed a second — a service-level p99 becoming a page-level p82. Budgets force that composition to be calculated rather than assumed.