v149 · Performance · Service Workers

Cache Miss Tracker

The key insight of workerFinalRouterSourceList: when a rule nominates cache but the resource isn't there, the browser falls back to network. The matched source list says ['cache'] but the final source list says ['network']. This simulation shows that divergence across a realistic batch of requests.

What the two fields tell you: workerMatchedRouterSourceList = what the matched rule asked for. workerFinalRouterSourceList = what actually served the response. They differ on cache misses, race outcomes, and handler fallbacks.

Routing rules in effect

Rule 1 — cache
requestDestination: image
Serve from cache; fallback to network on miss
Rule 2 — race
requestDestination: script
Race network vs fetch-event; first wins
Rule 3 — network
urlPattern: /api/*
Always network — matched = final
Rule 4 — fetch-event
requestDestination: document
Always goes to SW handler
40%
requests
matched = final
matched ≠ final
cache misses
# URL Rule workerMatchedRouterSourceList workerFinalRouterSourceList Δ
Click "Run simulation" to populate…

see also