demo · v136

Bimodal Timing

performance.now() ≈ 0 on a cold start, but on a warm reload the browser process has been running for a while. 136 surfaces extra navigation-timing fields so RUM can split cold-process and warm-process modes apart.

Reading nav entry…

this navigation

type
criticalCHRestart
notRestoredReasons
performance.timeOrigin
navigationStart-to-now
verdict

full PerformanceNavigationTiming entry

the code

const [nav] = performance.getEntriesByType("navigation");

if ((nav.criticalCHRestart ?? 0) > 0) tagAs("cold");
if (nav.notRestoredReasons)            reportBfcacheMiss(nav.notRestoredReasons);

see also