-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add frontend rendering metrics in the performance tests. #33645
Comments
We can play with Lighthouse integration with Puppeteer for the frontend. Here is a recipe from @addyosmani shared on his blog: https://addyosmani.com/blog/puppeteer-recipes/#lighthouse-metrics
|
Started to work on this at #47037 |
Updated the issue description with some follow-ups to the work that shipped recently. |
#47938 aims to add support for Largest Contentful Paint. |
Codehealth is now also tracking LCP. I consider done the V1 for this task: we have now visibility on what happens in both the server and the client, so we have a balanced perspective on user-perceived performance. This is not "done" in that we still have follow-up tasks to improve. I've logged them in the issue description. |
I think we've made decent progress there. We can always do better and test more things but this issue is not helpful anymore it seems. |
Our performance test currently tracks editor-centric metrics such as: editor loading time, editor typing time, time to select a block, time to open the inserter, time to hover an element on the inserter. While we did a number of iterations and improvements to the frontend rendering of Gutenberg, we don't have a metric to track. It would be a great addition to our performance numbers.
Tasks
V1: the MVP is having visibility in what happens in the server and the browser.
While tracking the time spent in the server is useful, it doesn't directly correlate to user-perceived performance. We need to track client metrics as well. For example, WordPress processes the post to render, so it can identify the blocks in use. With that information, it enqueues only the CSS of those blocks instead of the CSS of the whole block library. This certainly takes more time in the server, though we expect it to improve the perceived performance by the user. If we only tracked server metrics, they'd report this behavior as a regression, and we'd lack tools to understand how it impacted the actual user-perceived performance.
Later:
wp_get_global_settings
) so it's "hookable" by Gutenberg. By doing this sort of changes, the logic will run only once.The text was updated successfully, but these errors were encountered: