okor / justice

Embeddable script for displaying web page performance metrics.
MIT License
1.45k stars 56 forks source link

Add SpeedIndex #41

Open BJL opened 8 years ago

BJL commented 8 years ago

Hi,

Could you add a SpeedIndex mesure ? The visual progress may not be easy to calculate. But it may be possible with the help of paint events. cf https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index

Regards,

okor commented 8 years ago

That's tricky but might be possible. I was digging around the Browsertime codebase and noticed this: https://github.com/tobli/browsertime/blob/master/scripts/speedIndex.js which appears to be completely client based, assuming the client has the required api's - which is also true of other metrics gathered by Justice. It's not too too huge. And I'd like to have SpeedIndex too. Lots of questions about how accurate that script is in comparison to what Webpagetest produces. It's not trivial and would probably be best if there was an authoritative source of truth - like a standard lib rather than copy/pasting the thing from Browsertime. Perhaps @soulgalore and/or @tobli could shed some light on where the script came from and how accurate it is, etc. Slightly strange the the script seems to have different license than the project? idk

okor commented 8 years ago

Welp, actually, here is the source of the script: https://github.com/WPO-Foundation/RUM-SpeedIndex and it's MIT licensed so that's good. @pmeenan care to comment on how the WPT SpeedIndex calculations might differ from the what I will call "classical" method and this newer RUM method?

soulgalore commented 8 years ago

Hey @okor , yes we use the RUM version in the current version of sitespeed.io. Pat has published a couple of comparrisons between the video version and the RUM, you can check it out here: https://docs.google.com/spreadsheets/d/1wV8gKqdleiWUq_FDZs9lAki8eW7kdbdkjdT8uxHtzm8/edit

To be sure that it's valuable for a site, I usually recommend that you test the RUM and the original version side by side in WebPageTest and see if it works out for your site (for some sites/pages the RUM works better). So it's more up to the user of the tool to say if it's ok or not.

However in the next version of sitespeed.io we'll probably have a video version for people that use the Docker container, we got a POC for that, and if someone has time to help out, that would be lovely :) But that's another story.

BTW Justice is cool, keep up the good work :)

Best Peter

pmeenan commented 8 years ago

When I ran a comparison the results were encouraging but they aren't going to match up exactly (looks like Peter beat me to it).

If it's exposed in UI somewhere it's probably worth labeling it as RUM SpeedIndex (or similar) just to make clear that it's different from the video-based calculations.