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
- Bimodal performance timings — feature index
- ChromeStatus entry
- Navigation Timing spec