google / UIforETW

User interface for recording and managing ETW traces
https://randomascii.wordpress.com/2015/04/14/uiforetw-windows-performance-made-easier/
Apache License 2.0
1.55k stars 201 forks source link

Running UIForETW deleted all my WPA Presets #141

Open ghost opened 4 years ago

ghost commented 4 years ago

I ran UIForETW, did a small trace, saved it, quit the program. I did not want to mess up anything with WPA until I made sure what I was doing. I did not press "Copy Profiles". But I'm relatively novice, I don't really understand many of the columns but I've got a hang on it on CPU usage and the basic stuff, I've been reading the blog extensively as well as other thing I could find about WPA.

Now, there's only one preset "Randomascii Chrome and Multi Events" in WPA, and my WPAPresets file in AppData/Local was overwritten. I don't even care about Chrome so why is this forced in by default?

This behavior is definitely unacceptable.

There's also some RandomAscii stuff inside Startup WPA Profile in AppData/Local config, how did that get in considering the file was changed last time 3 months ago, I don't remember running UIForETW before yesterday (perhaps I did ran an older version once and forgot??)

Note: Funny how WPA writes all changes to view presets to the config file immediately after changing and applying each setting, while showing it as "modifed" and unsaved. Perhaps that's not how it works and "*" sign means something else?

randomascii commented 4 years ago

Sorry about that. The WPA presets are a mystery to me - they seem to appear and disappear in unpredictable ways.

Looking at copyWPAProfileToLocalAppData, which is called with force=false at startup:

https://github.com/google/UIforETW/blob/master/UIforETW/Utility.cpp#L87

I see that it deletes MyPresets.wpaPresets if force==true or if no startup profile was found (indicating a probable new user). I may be missing part of the logic.

The goal was to improve on WPA's out-of-box experience by giving users a non-blank startup profile, and giving them easy access to the UIforETW events (Multi Events) which include information about CPU throttling, input events, etc. The Chrome events are also enabled for display but nothing will show up unless you have enabled Chrome's ETW event emitting.

randomascii commented 4 years ago

P.S. Any deleted files should be in your recycle bin.

ghost commented 4 years ago

Oh, thanks for the tip, but yeah don't worry I got over it. It was a few months that I used WPA/WPR last time, so I kinda had to figure it out from scratch a bit again.

Certainly appreciate your goal here very much. It's just that it's up to me to customize things so I get what I'm looking for.

I was about to mention what kind of stuff I was after, but I'll rather properly separate it to another issue.

wdscxsj commented 4 years ago

@randomascii Is it possible to add an option to bypass the recycle bin on deletion, please?

randomascii commented 4 years ago

@randomascii Is it possible to add an option to bypass the recycle bin on deletion, please?

I assume you are concerned about filling the recycle bin with large .etl files? I guess an option like that would be fine, but I doubt I will do it. If you want to create a PR then look at the patterns for adding other new settings options. See this change for an example of adding a check box:

https://github.com/google/UIforETW/commit/02a3c584ca81fb1b470a20911ab8fcf537e5ecca