Skip to content
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

Improve profiling interface #3458

Closed
wants to merge 12 commits into from
Closed

Improve profiling interface #3458

wants to merge 12 commits into from

Conversation

kazcw
Copy link
Contributor

@kazcw kazcw commented May 16, 2022

Pull Request Description

Fix some small things that were making capturing and using profiles more complicated than necessary. (After this is reviewed I'll PR the new interface in the design doc repo):

Profile a predefined workflow in batch mode:

./run profile --workflow=new_project --save-profile=new_project.json

In this PR:

  • --save-profile now works as expected with relative paths. (The application now runs in the directory it is started from, rather than running in its npm root.)
  • Most run commands no longer use the shell to invoke their child processes, so we won't have problems with filenames containing special characters.

Profile an interactive session:

./run start --profiling-level=debug -- -- --save-profile=interactive.json

Then save profile and exit with Ctrl+Alt+Q.

In this PR:

View a profile:

./run view-profile new_project.json

In this PR:

  • Implemented a command to invoke profiling-run-graph entry point; accepts a path to a profile file.

Misc small improvements

  • Fixed rustfmt's configuration so it doesn't produce copious warnings about it, and ./run lint output is readable.
  • Removed dead old loading-animation code. It is incompatible with electron>=14, so it hasn't been doing anything for a while.

Checklist

Please include the following checklist in your PR:

  • The documentation has been updated if necessary.
  • All code conforms to the Scala, Java, and Rust style guides.
  • All code has been tested:
    • Unit tests have been written where possible.
    • If GUI codebase was changed: Enso GUI was tested when built using BOTH ./run dist and ./run watch.

[ci no changelog needed]

@kazcw kazcw closed this May 24, 2022
@wdanilo wdanilo mentioned this pull request Feb 6, 2023
1 task
@kazcw kazcw deleted the wip/kw/profiling-cli branch February 21, 2023 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant