Sources
One bibliography of all the sources that the research notes cite, grouped by topic, with the dates that the research gives.
This page lists all the sources that the research notes cite, grouped by topic. The research read each source on 2026-10-07. A date after a title is the publication date, or the date of the last change, as the research gives it. A source without a date has no date in the research.
Specifications and standards
- High Resolution Time Level 2, W3C Recommendation, 2019.
- High Resolution Time Level 3, W3C Working Draft, 2026-09-01.
- High Resolution Time, Editor's Draft, 2026-09-01.
- w3c/hr-time PR #69, the note on throttling, May 2019.
- w3c/hr-time issue #115, the clock during sleep, May 2021.
- Long Animation Frames, W3C First Public Working Draft, 2026-04-28.
- Long Tasks, W3C Working Draft, 2026-03-19.
- Event Timing, W3C Working Draft, 2026-03-19.
- Largest Contentful Paint, W3C Working Draft, 2026-08-26.
- Paint Timing, W3C Working Draft, 2026-10-02.
- Element Timing, W3C Editor's Draft, 2026-09-03.
- Container Timing, WICG draft, 2026-10-01.
- Layout Instability, WICG draft, 2025-12-17.
- Soft Navigations, WICG draft, 2026-08-26.
- Navigation Timing Level 2, W3C Working Draft, 2026-09-01.
- Performance Timeline, W3C Candidate Recommendation Draft, 2025-05-21.
- Timing entry-types registry, 2026-09-16.
- Prerendering, WICG.
- Page Lifecycle, WICG draft, 2022-06-09.
- Compute Pressure, W3C Candidate Recommendation Draft, 2026-05-14.
- requestIdleCallback, W3C Working Draft, 2025-05-21, and its Editor's Draft.
- Scheduling APIs, WICG draft, 2025-05-30.
- Reporting, W3C Working Draft, 2025-06-11.
- Crash Reporting, WICG draft, 2026-02-02.
- Device Memory, W3C Working Draft, 2026-03-30.
- Server Timing, W3C Working Draft, 2026-04-07.
- CPU Performance, WICG draft, 2026-08-15.
- Measure Memory, WICG draft, 2021-05-28.
- JS Self-Profiling, WICG.
- Beacon, W3C.
- HTML Standard, Timers, WHATWG.
- whatwg/html PR #7166, the idle deadline, November 2021.
- RFC 5905, NTPv4, IETF.
Browser data, release notes and standards positions
- MDN browser-compat-data, v8.1.4, 2026-10-01.
- mdn/browser-compat-data issue #21594, duplicated tabs and
sessionStorage. - ChromeStatus, with these features:
- Chromium Dash milestone schedule, milestones 151 to 155.
- Chrome release notes 147, 151 and 154.
- "The two-week release cycle is here", Chrome.
- Firefox release calendar, and the Firefox release cadence post, Mozilla, 2026-08-19.
- Firefox 142 for developers, MDN.
- WebKit features in Safari 26.2, 2025-12-12.
- WebKit features in Safari 26.4.
- WebKit features in Safari 27.0, 2026-09-17.
- "LCP and INP are now Baseline Newly available", web.dev, 2025-12-17.
- Interop 2026, web.dev.
- Interop 2025 review, WebKit, 2026-02-06.
- Interop proposals #1067 (LoAF, September 2025), #1352 (CLS, 2026-09-03) and #1372 (LoAF, 2026-09-05).
- Mozilla standards positions and WebKit standards positions.
- "Firefox and Safari Web Vitals", DebugBear, 2025-12-15, updated 2026-03-19.
- requestIdleCallback, caniuse.
Browser documentation
- Chrome: Long Animation Frames, Soft navigations, notRestoredReasons, "Deprecating the unload event", "Freezing on Energy Saver", Page Lifecycle API and Reporting API.
- Chrome blog: "Timer throttling in Chrome 88", "Background tabs in Chrome 57" and "Aligning timers with cross-origin isolation" (Chrome 91).
- Chromium metrics changelog: INP and LCP.
- Chromium: Windows native window occlusion and threading and HangWatcher.
- MDN: PerformanceEventTiming, VisibilityStateEntry, Performance.memory, Performance.timeOrigin, Document.visibilityState, Window.requestAnimationFrame, Window.setTimeout, Window.sessionStorage, WorkerNavigator and WorkerGlobalScope.crossOriginIsolated.
- MDN JavaScript and HTTP: SharedArrayBuffer,
Date.now(), Date header and Server-Timing header. - mdn/content issue #4713, the table of the clock during sleep in each browser and operating system.
- "Monitor your web page's total memory usage", web.dev.
Engine source code
- Chromium Blink:
performance.cc,global_performance.cc,time_clamper.h,dom_timer.cc,frame_scheduler_impl.cc,dedicated_worker_object_proxy.ccand the schedulerfeatures.cc. - Chromium base and gin:
time.h,time_win.cc,elapsed_timer.cc,task_queue_selector.handgin/time_clamper.h. - Firefox:
PerformanceService.cpp. - WebKit:
Performance.cppandDOMTimer.cpp.
Bugs, intents and engine discussions
- Mozilla bugs: 1348405 (LoAF), 1709767 (the clock during sleep), 1710762 (
timeOriginfor each process), 376643 (setIntervalafter a resume, 2007), 1378586 (thesetIntervalclamp, Firefox 56), 1377766 (budget throttling, Firefox 58), 1796525 (EcoQoS, Firefox 108) and 1774542 (worker timers in background tabs). - WebKit bugs: 225610 (the clock during sleep), 258572 (
timeOrigindrift), 310264 (LCP in shadow DOM), 299558 (low-entropy images), 319911 (slow interactions, 2026-07-21), 285049 (requestIdleCallback), 98474 (hidden-page timers, 2012) and 168837 (rAF in Low Power Mode). - WebKit pull requests #69866 and #70039, the render priority after input.
- blink-dev: Pause worklets and dedicated workers on document freeze, Throttling background dedicated workers (2018) and "Freezing on Energy Saver" (Chrome 133).
- WebPerfWG minutes, 2023-06-22.
Clocks, timers and operating systems
- clock_gettime(2), Linux, and clock_gettime(3), macOS.
- Microsoft: "Acquiring high-resolution time stamps", "Windows Time service tools and settings" and timeBeginPeriod.
- NTP 4.2.8 clock discipline, chrony.conf 4.6 and systemd
timesyncd-manager.c. - Bruce Dawson, "Windows Timer Resolution: The Great Rule Change", 2020-10-04, and "Windows Timer Resolution: Megawatts Wasted", 2013-07-08.
- "New Google Chrome feature to drastically reduce battery usage", BleepingComputer.
- "On high-precision JavaScript timers", incolumitas, 2021-12-18.
- Nolan Lawson, "Why do browsers throttle JavaScript timers?", 2025-08-31.
- Eric Schaefer, "The dark side of requestIdleCallback", 2023-03-11.
- Maximiliano Firtman, "Understanding JavaScript in the background".
- "When browsers throttle requestAnimationFrame", Motion, 2020.
- worker-timers and the React scheduler.
Measurement theory and prior art
- Gil Tene, "How NOT to Measure Latency", QCon SF 2015.
- HdrHistogram, wrk2 and jHiccup.
- Vila and Köpf, "Loophole: Timing Attacks on Shared Event Loops in Chrome", USENIX Security 2017.
- Schwarz and others, "Fantastic Timers and Where to Find Them", FC 2017.
- Acer and others, "Where the Wild Warnings Are", CCS 2017.
- Simon Hearne, "Survivorship bias in web performance", 2022.
- Nic Jansma, "Beaconing in practice" and "JS Self-Profiling API in practice".
- Surma, "Is postMessage slow?".
- Node.js: perf_hooks, issue #34661, PR #62935 and issue #47724.
- toobusy-js, timesync and wake-event.
- Noam Rosenthal, "When a millisecond is not a millisecond".
- Sentry PR #23054, the correction of the clock drift after sleep, merged 2026-10-07, and issue #2590.
- react-native issue #57595, the clock drift on iOS 27.
- Daintree issue #12887, an event-loop lag monitor that reports system sleep as lag.
OpenTelemetry specifications and conventions
- Metrics data model, with the stable Single-Writer rule.
- Metrics SDK, with the cardinality limits.
- Prometheus and OpenMetrics compatibility.
- Semantic conventions: browser events, browser resource, session and service attributes.
- Semantic conventions CHANGELOG: v1.34.0 (2025-05-19), v1.40.0 (2026-02-19), v1.42.0 (2026-06-12) and v1.44.0 (2026-08-04).
OpenTelemetry JS, browser and Collector
- OpenTelemetry JS CHANGELOG: 1.29.0 (2024-12-04), 2.7.0 (2026-04-17) and 2.11.0 (2026-08-31).
- OpenTelemetry JS source:
MetricCollector.ts,OTLPMetricExporterBase.ts,ServiceInstanceIdDetector.ts,time.tsandSpan.ts. - OpenTelemetry JS issues: #852 (sleep), #4096 (stale observable attribute sets, open from 2023-08-30), PR #6884 (updated 2026-09-24) and #6816 (a clock that the application can replace).
- opentelemetry-browser (from 2025-09-11), its session management and its web-vitals
semconv.ts. - opentelemetry-js-contrib PR #3669, the deprecation of the long-task instrumentation, 2026-08-12.
- Collector contrib: deltatocumulative README and
delta.go, interval README, metricstransform README (changed 2026-09-05), aggregateutil and signaltometrics README (changed 2026-09-23). - Collector contrib issue #46441 (filed 2026-02-25, closed as not planned 2026-07-03) and PR #32958 (closed without a merge 2024-06-22).
Grafana Mimir, Prometheus, Loki and other backends
- Mimir: "Configure the OTel Collector", runbooks, configuration parameters and ingester.
- Mimir source:
otel.goand PR #15589 (merged 2026-09-10). - Prometheus: "Using Prometheus as your OpenTelemetry backend", feature flags, PromQL functions and the OTLP translator.
- Prometheus proposals PROM-77 (a work in progress) and PROM-60 (merged 2026-07-08).
- Grafana Cloud: "OTLP format considerations", "Adaptive Metrics aggregation rules" and metrics usage.
- Tom Braack, "How to use OpenTelemetry and Grafana Alloy to convert delta to cumulative at scale", Grafana, 2024-11-26.
- Loki: OTLP ingestion,
otlp.goand recording rules. - VictoriaMetrics stream aggregation.
Web Vitals
- web-vitals, version 6.2.3, released 2026-10-05: README and CHANGELOG.
- web-vitals metrics:
onINP.ts,onCLS.ts,onLCP.ts,onFCP.tsandonTTFB.ts. - web-vitals helpers:
InteractionManager.ts,interactionCountPolyfill.ts,LayoutShiftManager.ts,observe.ts,whenIdleOrHidden.ts,whenActivated.ts,getVisibilityWatcher.ts,bindReporter.ts,initMetric.ts,getNavigationEntry.ts,bfcache.ts,softNavs.tsandgetSelector.ts. - web-vitals attribution:
attribution/onINP.ts,attribution/onLCP.tsandattribution/onCLS.ts.
RUM products and tools
- Grafana Faro: faro-web-sdk, the OTLP transport README (changed 2025-08-28) and
webVitalsWithAttribution.ts. - Datadog: RUM data collected, RUM-based metrics and
longTaskCollection.ts. - New Relic: PageViewTiming, performance impact and PR #1869 (September 2026).
- Sentry: automatic instrumentation,
entries.ts, "Replay performance overhead", event loop block in Node.js and browser-updates-radar #39 (2026-10-05). - Honeycomb web vitals.
- Elastic: supported technologies, EDOT Browser telemetry and long tasks.
- SpeedCurve LUX:
lux.ts. - Akamai boomerang:
continuity.jsand the Continuity plugin documentation. - ANR-WatchDog, Android.
- "How to catch the frozen tabs and jank your monitoring misses", DEV Community, September 2026.
Writing standard
- STEMG: home page, About STE, Downloads, FAQ and Tools for STE.
- STEMG, "ASD-STE100 Simplified Technical English and Artificial Intelligence", white paper, June 2026.
- ASD, "A milestone in Simplified Technical English: ASD-STE100 Issue 9".
- tcworld, "ASD-STE100 Issue 9: Setting a standard for technical documentation".
- Google, "Code in text", developer documentation style guide.
- Boeing Simplified English Checker.
This project
- lag: the code of
@mark1russell7/lagand@mark1russell7/lag/worker, and the browser tests. The notes link to each file that they describe. - ste-lint: the code of the linter
@mark1russell7/ste-lint. - otel-ts and grafana-infra. The notes describe their local source of 2026-10-07: otel-ts commit
d2ca8f7on the branchfix/lifecycle-flush, and grafana-infra commitc56a945on the branchlag-pipeline-v2. - The local experiments E1, E2 and E3 of 2026-10-07.