Page MenuHomePhabricator

Add probe/report for Long Task information
Open, MediumPublic

Description

Right now we only have the Transfer Size metric for JavaScript, as part of the pageWeight metric. It's main purpose is to keep us aware of data bandwidth cost (and by extent, time required to transfer that data over different connections).

What's missing is information about what the "cost" was of that JavaScript in terms of user experience on the page. How long it took to initialise, whether it's a single uninterrupted block causing jank, or nicely spaced out. Whether it's doing many expensive DOM operations at load time, or whether it's making use of best practices like delegate event handlers and deferred computation.

There's a number of ways to capture this, and I propose we'll try multiple to see what works best.

This task is for capturing the information from the Long Task API, which gives us a high-level picture of any JavaScript execution blocks that took up more than a specified amount of time (e.g. 50ms).

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

I'm testing https://chromedevtools.github.io/devtools-protocol/tot/Performance to get performance metrics at the moment on my local machine and for the Barack Obama page and the time spent running JS looks like this (headless in Chrome using Fresnel):
ScriptDuration: 0.413074

And that is in ms right? I run on my local though, so we should check what it looks like on Jenkins.

Hmm I think the ScriptDuration is reported in seconds? Yes that much be it.

Krinkle triaged this task as Medium priority.Aug 6 2019, 1:06 AM
Krinkle edited projects, added Fresnel; removed Performance-Team.
Krinkle unsubscribed.