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

Investigate using native ETW APIs for recording traces #120

Open randomascii opened 6 years ago

randomascii commented 6 years ago

UIforETW currently requires that WPT be installed. When analyzing traces this makes sense, but for just recording traces this is a bit heavy handed. One reason for shelling out to xperf instead of using the ETW APIs directly is that the ETW APIs are the worst APIs ever made (reference: https://caseymuratori.com/blog_0025). However there are clean C++ wrappers for them that could be used:

https://github.com/Microsoft/krabsetw

Another reason for shelling out to xperf.exe is that when "show commands" is checked it is easy to see exactly what commands are issued and then create a batch file from them. I've done that.

This issue mostly exists in order to record the two links above.