Skip to content

tests(dbw): fix server latency flake#15729

Merged
devtools-bot merged 2 commits intomainfrom
fix-dbw-server-latency-flake
Jan 4, 2024
Merged

tests(dbw): fix server latency flake#15729
devtools-bot merged 2 commits intomainfrom
fix-dbw-server-latency-flake

Conversation

@adamraine
Copy link
Copy Markdown
Contributor

@adamraine adamraine commented Jan 4, 2024

This has been happening a lot since this condition was added. Not entirely sure how this can happen. Maybe there is just higher variance since the sample size for the domain is just 1 request? Edit: see #15729 (comment)

@connorjclark
Copy link
Copy Markdown
Collaborator

Just in case there's a real bug here, I dug in a bit..

I grabbed the failing artifacts from: https://github.com/GoogleChrome/lighthouse/actions/runs/7415363551

And set a breakpoint in NetworkAnalysis, then ran node cli '-A=/Users/cjamcl/Downloads/Smokehouse (ubuntu; chrome stable)/2/dbw/' http://localhost:10200/dobetterweb/dbw_tester.html

the summary for this origin is all 0
image

Though we do have a RTT for it

image

Back to the summary timings - We only have one entry for the [::1] domain, which gets capped to 0 in _estimateResponseTimeByOrigin:

image

And that RTT estimate comes from one sample (we only have one network record for this origin...), which comes from this estimation:

return connectEnd - connectStart;

image

(protocol is http/1.1 btw)

I guess this code is pretty flawed for n=1 samples, but I'm not sure how exactly or if it extends to when there are more samples. We could try adding another request to this domain, but that may just be masking a problem.

@connorjclark
Copy link
Copy Markdown
Collaborator

connorjclark commented Jan 4, 2024

from my understanding, this being zero makes sense to me because: we must guess RTT w/ the worse case data, no SSL timing and just one sample. then we must derive the "server thinking time" which is the ttfb minus the rtt...and if this is all from the same record that's just not enough info to get what we want.

@adamraine
Copy link
Copy Markdown
Contributor Author

Yeah seems like a response time of 0 makes sense in this scenario. Doesn't seem like a problem, it just doesn't match the expectation for the other domain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants