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

Adding a UserCommand to convert etl files to speedscope.json or updating NetperfToSpeedScope #1688

Open
EmosewaMC opened this issue Aug 17, 2022 · 4 comments · May be fixed by #1690
Open

Adding a UserCommand to convert etl files to speedscope.json or updating NetperfToSpeedScope #1688

EmosewaMC opened this issue Aug 17, 2022 · 4 comments · May be fixed by #1690

Comments

@EmosewaMC
Copy link
Contributor

I've noticed that there is a UserCommand called NetperfToSpeedScope however giving that method a provided etl file, as it is stated in its comments results in an error due to the etlx file not being found. I am unsure if there is a way to give the UserCommand a .netperf file since as far as I can tell from documentation the .netperf format is deprecated but this would likely cause the program to also look for a .etlx file which may not exist since I cant find where these are generated.

My main question is, is it worth the time to put in a PR to add a UserCommand to convert an etl file to SpeedScope, or does the current method work but need some more specific files that I am not looking for?

If NetPerf is not deprecated, how would I obtain this data using PerfView so I can quickly convert traces to the SpeedScope format?

@brianrob
Copy link
Member

@EmosewaMC, I recommend that you look at https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace. It is possible to convert from nettrace to speedscope via dotnet-trace convert. You can also specify the output format directly if using dotnet-trace to collect.

@EmosewaMC
Copy link
Contributor Author

The main question which I kind of buried in here is how can I convert an etl file to a speedscope format? This would work for nettrace but my main goal is to take a trace with PerfView, and convert that resulting etl file to a speedscope without needing to do so via the CPUStacks gui. Is this possible in the current version of PerfView?

@brianrob
Copy link
Member

Oh, I see. Sorry, I mis-read your question. I am not aware of a way to do this via the command line. It is available through the Save View As menu option in the Stack Viewer. Totally reasonable to create a UserCommand for this if you like.

@EmosewaMC EmosewaMC linked a pull request Aug 19, 2022 that will close this issue
@AloisKraus
Copy link

Although not PerfView I have needed this functionality as well and have added it to ETWAnalyzer. I have copied the PerfView code which is very well designed. That was easy.

https://github.com/Siemens-Healthineers/ETWAnalyzer

image

It gives you also the option to sum all threads into one to get an overview of the total CPU consumption which I use sometimes to see what is costing too much CPU in total.

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 a pull request may close this issue.

3 participants