I have been investigating Event Tracing for Windows (ETW) for use within existing backend/server applications. MSDN and other sources have sold the power of the framework and its integration with xperf, etc. which frankly I am impressed with.
However I am a bit concerned by the Win32 APIs and the overhead of working with the manifest coding compilating/registration, etc.
Folks, do you:
Rather than using the Win32 API directly, I would recommend using WPP.
WPP is a pre-processor which allow you to write printf-like trace lines anywhere in your code and have the result of those, along with the additional data (e.g. the arguments passed to the various %d and %s in the trace) be logged to ETW.
The definite guide for this is WPP Tracing in Visual C++ 2010 Projects.
On the one hand, ETW is very powerful. But at the same time, it's not that easy to start with it.
However, there is a project on GitHub that simplifies writing your own ETW provider. And it's a good example of writing:
Please look at the Intel single event API (SEAPI) wiki.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With