-
-
Notifications
You must be signed in to change notification settings - Fork 19
Issues when use ultra to profile native cpp game #24
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Hi, first of all, thanks for this awesome library! I always wanted to have a good tool for converting etw trace to gecko json format because I love the firefox prolfiler's UI, and before ultra I found https://github.com/mstange/samply, which is pretty great but there's some problem when dealing with my game's pdb, so I gave it up. And then I found ultra, simple, elegant and fast, I love it. Although ultra is not built for a native cpp game like my use case but it simply works out of box, which is pretty awesome, thank you so much.
I found some cases where it can be improved for my use case, IMHO I should raise it here for discussion
- I find my game's main thread is named as "Startup thread", not the real name "GameThread", likely because ultra did not listen to the ThreadSetName event? I hacked it to print all names set and I can find the "GameThread" there
- when method index is invalid, the func name is simply output as raw adress, IMHO it can have a moduleName as prefix, like "xxx.dll!0x1234"
I find the symbolication process a bit slow dispite I have local symbol cache, maybe it's because I'm in China, I will investigate more on this and find out why it's slow.Update: My game has around 1200 symbols to load and it's just a for loop, IMHO it may not be easy to parallel the for loop, maybe can parallel the trace thread converting part?
Thanks and looking forward to get some feedback!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request