-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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 performance measurement #9777
Add performance measurement #9777
Conversation
5322deb
to
9f56b25
Compare
21af9aa
to
a188660
Compare
ab4de3b
to
0a80b85
Compare
.npmrc
Outdated
@@ -0,0 +1 @@ | |||
scripts-prepend-node-path=true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do we need this for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without this option the script showed a warning:
The node binary used for scripts is /tmp/yarn--1627025300882-0.06251617126804576/node but npm is using
/home/simon/.nvm/versions/node/v12.22.1/bin/node itself. Use the --scripts-prepend-node-path option to include the
path for the node binary npm was
executed with.
However, right now i cannot reproduce it. Should i remove it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yarnpkg/yarn#6685 I haven't traced trough all that, but I think yarn is just making copies 🤷 I think we should remove it (or understand why it happens).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed it.
@sgraband thanks for this contribution: it's important that we keep track of startup performance. I have a bunch of suggestions/comments which are mostly code style issues. |
3160b56
to
f1ce9ca
Compare
f1ce9ca
to
6383baa
Compare
@tsmaeder I rebased the changes to master. Could you have another look? |
1604f68
to
fddc8be
Compare
a064c57
to
7d0d03c
Compare
@sgraband, it looks like the builds are failing here because running |
7d0d03c
to
b546bd1
Compare
@colin-grant-work rebasing seemed to do the trick. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This script is performing correctly for me and seems like a reasonable basis for judging changes in startup performance for the application. @tsmaeder, do you have any additional comments?
@colin-grant-work nothing to prevent merging. |
This commit adds a script for performance measurement using the Chrome DevTools tracing. Currently the startup time of the browser-app is being measured. The script uses Puppeteer so other processes can be measured in the future as well. For more information see the README in the scripts/performance directory. Contributed on behalf of STMicroelectronics Signed-off-by: Simon Graband <[email protected]>
b546bd1
to
5f7bca7
Compare
Rebased and removed the .npmrc file. |
What it does
This commit adds a script for performance measurement using the Chrome DevTools tracing.
Currently the startup time of the browser-app is being measured.
The script uses Puppeteer so other processes can be measured in the future as well.
For more information see the
README.md
in the scripts/performance directory.This PR is intended as the first step to an eventual performance test suite which could also be integrated into the CI tooling.
See #9722 for more information about this topic.
Example output:
Contributed on behalf of STMicroelectronics
Signed-off-by: [email protected]
How to test
See the README on how you can run the script manually or run the
performance:startup
node script in the root directory to measure the startup time. You can also adjust the parameters to for example execute more iterations or to run the test headful.Additionally, you can import the generated files in
scripts/performance/profiles
in the performance tab of the Chrome DevTools.Review checklist
Reminder for reviewers