Skip to content

Compare profiling results #1724

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

Open
firelizzard18 opened this issue Aug 26, 2021 · 2 comments
Open

Compare profiling results #1724

firelizzard18 opened this issue Aug 26, 2021 · 2 comments

Comments

@firelizzard18
Copy link
Contributor

Is your feature request related to a problem? Please describe.
While discussing #1685, @jmaister informed me that go tool pprof can create a diff diagram between two CPU/memory profiles, and he would like to see this feature added to the extension.

This would allow users to easily see the performance impact of changes they make.

Describe the solution you'd like
Some mechanism to select two performance profiles for comparison. The implementation will be largely the same as the basic profile display tool (which is not yet implemented).

Describe alternatives you've considered
Pretty much just doing it manually.

@hyangah
Copy link
Contributor

hyangah commented Aug 27, 2021

pprof tool stores temporary data in PPROF_TMPDIR, but that's pretty unstructured dump of collected profiles (the name encodes some info time/profiletype/collection method hints...). Actively managing collected profiles can be convenient.

How about having a temporary directory (or give a user to configure the directory) and store profiles there? Schema design work is still necessary. Having FileSystemProvider around it and providing users with ability to navigate/select/delete them may be cool (I don't know how :-P)

Another idea is: to persist data across sessions, workspaceState vscode.Memento may store the directory location. If it exists, use it. If it's gone, reset.

@firelizzard18
Copy link
Contributor Author

I'm wondering how to handle the UX for persistent profiles. I can come up with a persistent place/way to put them, but users probably don't want profiles to stay around indefinitely.

@hyangah hyangah removed the Thinking label Mar 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants