[Dev]Speed up _wait_for_stable_network
by using Playwright’s built-in load/networkidle
#5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request: Speed up
_wait_for_stable_network
by using Playwright’s built-in load/networkidleSummary
Our replay runner was spending up to 20 s per step waiting for “network idle” even on fast pages, resulting in 160 s total for 11 steps. By switching to Playwright’s built-in
wait_for_load_state('load')
+wait_for_load_state('networkidle')
with our configured timeouts, we cut total runtime down to 60 s — a 62 % improvement!Benchmark
The default Playwright “networkidle” can wait up to 20 s (4 s × 5 polling) per call. We were repeatedly hitting our
maximum_wait_page_load_time
each step, so every step often paid the full timeout.Changes
await page.wait_for_load_state('load', timeout=…)
await page.wait_for_load_state('networkidle', timeout=…)
maximum_wait_page_load_time
andwait_for_network_idle_page_load_time
directly in ms.