demo · v140

Timing Decoder

A single navigation broken into the five segments PerformanceEntry now exposes — routerEvaluationStart, cacheLookup, workerStart, handlerStart, response. Pick a scenario and watch where time is actually spent.

router evaluation SW boot handler network fetch
const entry = performance.getEntriesByType("resource")[0];
console.log({
  routerEvaluationStart: entry.workerRouterEvaluationStart,
  cacheLookupStart:      entry.workerCacheLookupStart,
  workerStart:           entry.workerStart,
  handlerStart:          entry.fetchStart,    // existing
  responseStart:         entry.responseStart, // existing
});

see also