Latency Budgets per Service: The Math That Holds
End-to-end latency goals decompose into per-service budgets. The math is simple; the discipline of tracking is rare.
Why budgets per service
End-to-end latency goals do not enforce themselves. Without per-service decomposition, no team owns their fraction; the user-facing goal slips.
- End-to-end goal. User wants p99 page load under 2 seconds; that is what they actually care about.
- Decomposed math. 8 services in series mean each service's p99 must come in under 250ms; the budget divides.
- Without decomposition. No team owns their hop; the end-to-end goal misses without anyone being responsible.
- Per-team accountability. Each service team has a budget; SLOs become enforceable per service, not just per app.
Four-step decomposition
- 1. Identify user journey.
- 2. Trace the call graph.
- 3. Allocate budget per hop.
- 4. Measure each hop independently.
Tracking pattern
The budget only works if every service team can see their slice. Per-service dashboard with the budget line drawn; quarterly re-allocation as the architecture changes.
- Per-service dashboard. Latency panel with budget line drawn explicitly; team sees the threshold at a glance.
- Owner per hop. Each service has a named team responsible for staying within budget.
- Quarterly re-allocation. Service mix changes; budgets shift; the math gets refreshed each quarter.
- End-to-end view. Dashboard summing all hops shows whether the user-facing target is on track.
Renegotiation cadence
When a service breaches its budget, the conversation must happen. Either invest in that service or renegotiate the budget; doing nothing makes the SLO a lie.
- Breach trigger. Service breaches budget; investment or renegotiation conversation starts the next sprint.
- Investment path. Performance work funded; engineering capacity allocated; the budget is defensible again.
- Renegotiation path. Budget revised across services; the end-to-end target may also shift; sometimes the user goal was unrealistic.
- Without conversation. Missing budgets become the new normal; the SLO loses meaning; the team learns to ignore it.
Antipatterns
- End-to-end goal without decomposition. Nobody owns it.
- Static budget for years. Service mix changes; budget rots.
- Budget without consequence. Decoration.
What to do this week
Three moves. (1) Apply this pattern to your slowest production endpoint. (2) Measure p99 before/after. (3) Document the win and ship the runbook so the team can reproduce.