sitespeedio / sitespeed.io

sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.
https://www.sitespeed.io/
MIT License
4.76k stars 603 forks source link

Waterfall, metrics and median reporting questions #4255

Open ygarde opened 3 months ago

ygarde commented 3 months ago

Your question

I have a handful of questions about varying aspects of Sitespeed.io's functionality:

I will update this thread with more questions as necessary.

soulgalore commented 3 months ago

Hi @ygarde

When performing a comparison in features between Sitespeed.io and Webpagetest, the waterfall chart in sitespeed.io had significantly fewer requests reported than the exact same page load on WPT. Is there any known reason for this?

Can you share an example so I can have a look? I think by default WebPageTest ends a test after X seconds of no network activity. By default (but you can change that) the test ends after loadEventEnd + 2 seconds. You can checkout https://www.sitespeed.io/documentation/sitespeed.io/browsers/#choose-when-to-end-your-test and you could try --pageCompleteCheckNetworkIdle and see if you see any difference.

Is there anywhere that Sitespeed.io reports the Content Download Time metric that is found on a per request basis on the waterfall chart in WPT? I could not find this metric reported anywhere.

Maybe, what do Content Download Time mean/measure, how is it defined?

Is there a way to change which run is reported as the median run to be based on the LastVisualChange metric instead of SpeedIndex on pages like the Waterfall view for example?

No it's not configurable, but it could be done with some changes. The logic works like this right now: If we have SpeedIndex, use that. If not, use loadEventEnd.

I am currently making use of the analysisstorer plugin to get JSON versions of my test results. Is there a clean way to get run by run test results (including all metrics for each run) in a single file rather than the current method where there is an individual JSON file for each run per module of sitespeed?

I think the easiest way is to create your own plugin, collect those messages that you need and store them the way you want. Let me know if you need any guidance.