Revamp long tasks: - Measure long frames, from beginning of task until end-of-rendering or noop, as it's a more robust and representative unit of measurement than a "task". - Add attribution/breakdown: style & layout, script details.
Long tasks, shipped in Chrome 58, are marketed as the way to diagnose responsiveness/jank issues such as long INP. However, in the years since we've shipped them we found that they are lacking: 1. They don't contain the rendering phase, which means a lot of what goes into blocking interactivity is not counted 2. Long tasks are missing details about what made the task long 3. UI events are not specified nor implemented in terms of tasks, causing confusion. 4. Internal changes to how we deal with tasks in Chrome change the meaning of a "task" too often. The revamp: - Counting frames instead of tasks: from the beginning of the task until one of the following occurred:
(1) the frame has been rendered (could be more than one task)
2) the task is complete and there are no changes (a classic long task without visual updates). - Add information about how long it took to style&layout, as well as a breakdown of long-running same-frame top-level scripts, plus additional information that can help diagnose long main-thread blocking periods.
No milestones specified