✨ [RUM-10292] Add notRestoredReasons support
Motivation
During the recent WebPerformance Working Group, Google Chrome engineers highlighted that nearly all back/forward cache (BFCache) navigations fail due to blockers such as Cache-Control: no-store and active WebSockets. To improve visibility and help developers optimize their pages, Chrome recently introduced the notRestoredReasons API. Surfacing these details in Datadog RUM will allow engineers to understand why their pages are not benefiting from BFCache.
Changes
This PR extends our navigation timings collection to capture notRestoredReasons from the PerformanceNavigationTiming entry.
Test instructions
Checklist
- [x] Tested locally
- [ ] Tested on staging
- [ ] Added unit tests for this change.
- [ ] Added e2e/integration tests for this change.
✅ Tests
🎉 All green!
❄️ No new flaky tests detected
🧪 All tests passed
🎯 Code Coverage
• Patch Coverage: 100.00%
• Total Coverage: 92.57% (+0.00%)
View detailed report
🔗 Commit SHA: 32ab48a | Docs | Was this helpful? Give us feedback!
/to-staging
View all feedbacks in Devflow UI.
2025-09-03 10:25:30 UTC :information_source: Start processing command /to-staging
2025-09-03 10:25:37 UTC :information_source: Branch Integration: starting soon, merge expected in approximately 12m (p90)
Commit a86fd07f15 will soon be integrated into staging-36.
2025-09-03 10:38:28 UTC :information_source: Branch Integration: this commit was successfully integrated
Commit a86fd07f15 has been merged into staging-36 in merge commit 520ad6a620.
Check out the triggered pipeline on Gitlab 🦊
If you need to revert this integration, you can use the following command: /code revert-integration -b staging-36
Bundles Sizes Evolution
| 📦 Bundle Name | Base Size | Local Size | 𝚫 | 𝚫% | Status |
|---|---|---|---|---|---|
| Rum | 155.93 KiB | 156.16 KiB | 236 B | 0.15% | ✅ |
| Rum Recorder | 19.53 KiB | 19.53 KiB | 0 B | 0.00% | ✅ |
| Rum Profiler | 5.18 KiB | 5.18 KiB | 0 B | 0.00% | ✅ |
| Logs | 55.12 KiB | 55.12 KiB | 0 B | 0.00% | ✅ |
| Flagging | N/A | 931 B | 931 B | N/A% | ✅ |
| Rum Slim | 113.80 KiB | 114.03 KiB | 236 B | 0.20% | ✅ |
| Worker | 23.60 KiB | 23.60 KiB | 0 B | 0.00% | ✅ |
🚀 CPU Performance
| Action Name | Base Average Cpu Time (ms) | Local Average Cpu Time (ms) | 𝚫 |
|---|---|---|---|
| addglobalcontext | 0.005 | 0.008 | 0.003 |
| addaction | 0.015 | 0.032 | 0.017 |
| addtiming | 0.004 | 0.005 | 0.001 |
| adderror | 0.015 | 0.021 | 0.006 |
| startstopsessionreplayrecording | 0.001 | 0.001 | 0.000 |
| startview | 0.004 | 0.009 | 0.004 |
| logmessage | 0.019 | 0.033 | 0.013 |
🧠 Memory Performance
| Action Name | Base Consumption Memory (bytes) | Local Consumption Memory (bytes) | 𝚫 (bytes) |
|---|---|---|---|
| addglobalcontext | 24.77 KiB | 26.22 KiB | 1.45 KiB |
| addaction | 43.47 KiB | 47.00 KiB | 3.53 KiB |
| addtiming | 25.22 KiB | 24.43 KiB | -803 B |
| adderror | 48.54 KiB | 50.43 KiB | 1.89 KiB |
| startstopsessionreplayrecording | 24.52 KiB | 23.73 KiB | -817 B |
| startview | 421.01 KiB | 424.04 KiB | 3.03 KiB |
| logmessage | 42.04 KiB | 44.44 KiB | 2.40 KiB |
Are we able to see these new data on staging?