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:
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.
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.