browsertime icon indicating copy to clipboard operation
browsertime copied to clipboard

HAR file partially generated

Open gianlucaperna opened this issue 4 years ago • 3 comments

Good morning everyone, I'm testing a video streaming page and I noticed that the har file generated in output from sitespeedio/browsertime (latest version looking today) is partially generated. In particular, what I see is that the har file generally stops at the (almost) 60 requests of the video, but the experiment should arrive at (almost) 150.

The code to run the experiment is:

sudo docker run --rm -v "$(pwd)":/sitespeed -w / sitespeedio/browsertime
--chrome.args enable-quic
--chrome.args ignore-urlfetcher-cert-requests
--chrome.args autoplay-policy=no-user-gesture-required --chrome.args no-first-run
--chrome.args origin-to-force-quic-on=130.192.95.216:8091
--chrome.args ignore-certificate-errors-spki-list=5V2I9iQ0NrsorG7qXJzxuVGyFcla/L4HNMyrzgx7X0E=
--chrome.args quic-version=h3
-n 1
--video false
--videoParams.createFilmstrip false
--visualMetrics false
--videoParams.convert false
--har har_http3_bw_1_esp_1
--resultDir /sitespeed/results_http3_bw_1_esp_1
--pageCompleteCheckStartWait 540000
https://130.192.95.216:8091/controlbar.html --tcpdump

On the server-side, I see 150 requests (the correct values), and also in the pcap collected from browsertime I see that the experiment should consume the entire video. If I try to run the experiment setting video on, I see 9 minutes of video with (almost) 150 requests done. I didn't understand what could be the problem, anyone can help me?

Thanks a lot, Gianluca

gianlucaperna avatar Oct 25 '21 09:10 gianlucaperna

Hi @GianlucaPoliTo the HAR file is created using https://github.com/sitespeedio/chrome-har, if you can turn on the log ( --chrome.collectPerfLog true) and then you will have new log file chromePerflog-1.json.gz . That's the file that is used by Chrome HAR to generate the HAR. If you can add an issue in that project with a gist with the log file that would be perfect!

Thanks Peter ,

soulgalore avatar Oct 25 '21 10:10 soulgalore

Hi @soulgalore, thanks for the fast reply. I'm running a new set of tests with your param, and just I have results I will write here all the information.

Anyway, what sounds strange is that what I describe in the previous comment, happens only when I try to use tc module putting constraints on the Download and Upload bandwidth, but, in particular with 10Mbit, if I set 1Mbit 2Mbit and so on everything works well and I'm able to see the video completely in clearly lower resolution.

Sorry for the digress, I want only to keep as clear as possible on which are the test and the scenario in which this happen.

Thanks, Gianluca

gianlucaperna avatar Oct 25 '21 11:10 gianlucaperna

The correct branch is delay-collect and use --delayAfterPageCompleteCollect.

soulgalore avatar Oct 29 '21 08:10 soulgalore

I would run tests using --pageCompleteCheckNetworkIdle that looks at the network traffic and ends the test when there's silence on the network. That way I think we should be able to get the exact same thing for sure.

soulgalore avatar Dec 17 '23 06:12 soulgalore