Skip to content

docs: document what simulated throttling for soft navigations needs upstream - #25

Merged
ChristopherPHolder merged 1 commit into
mainfrom
docs/simulated-throttling
Nov 14, 2026
Merged

ChristopherPHolder merged 1 commit into
mainfrom
docs/simulated-throttling

Conversation

@ChristopherPHolder

Copy link
Copy Markdown
Collaborator

Closes #24. Background for #23.

What

A new docs/simulated-throttling.md:

  • What happens today. Under simulate, seven audits of a soft navigation step error with rootRequest not found and the Performance score is null. Lantern's PageDependencyGraph.createGraph roots its graph at the document request, and a soft navigation has none.

  • Why a root is not enough. I gave Lantern a root on the e2e fixture app, a cached document request at SoftNavigationStart, and compared the result with the same soft navigation under DevTools throttling:

    FCP LCP
    Recorded without throttling 54–55 ms 206–207 ms
    DevTools throttling, the reference 574–578 ms 1146–1151 ms
    Lantern, with the synthetic root 9–10 ms 659–660 ms

    Three rules in Lantern explain it: the FCP graph leaves out the fetch the paint waited for, a request that waits for another is simulated next to it, and every origin is charged a new connection.

  • What has to change. Seven changes with their files: four in Lantern (Chrome DevTools frontend), three in Lighthouse, and the order they make sense in.

  • Until then. The package keeps requiring devtools or provided. The options for a bridge are in Simulated throttling for soft navigation steps: land it upstream or bridge it in the package #23.

  • Limits of the measurement. One small app, two runs, one machine.

It is linked from docs/upstreaming-to-lighthouse.md (where it explains why the step passes throttlingMethod, and as a new open question), from the Throttling section of the package README and from the Throttling guide of the docs site.

Verified

…pstream

A soft navigation step errors under Lighthouse's default simulated throttling.
docs/simulated-throttling.md records why, what was measured on the e2e fixture
app once Lantern is given a graph root, and the seven changes Lantern and
Lighthouse need before simulate can work for a soft navigation.

Linked from the upstreaming doc, the package README and the Throttling guide.
@ChristopherPHolder
ChristopherPHolder merged commit 5c87567 into main Nov 14, 2026
1 check passed
@ChristopherPHolder
ChristopherPHolder deleted the docs/simulated-throttling branch November 14, 2026 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: document what simulated throttling for soft navigations needs upstream

1 participant