Search code examples
windowsetwxperftrace-logging

xperf -providers doesn't show the name of TraceLoggingProvider defined by TRACELOGGING_DEFINE_PROVIDER


I follow the tutorial to set up a TraceLoggingProvider in my application.

During the application runs, I try to use xperf -providers to see if my user event provider is there: I cannot see the name I defined in TRACELOGGING_DEFINE_PROVIDER but only the defined GUID is shown. Is it intended?

Instead following another tutorial with WPRP file, I just use xperf -start to capture events. And the same: I can only use GUID as parameter, not the defined name! is it also intended?

Anyway, at the end I can view the result properly in WPA and the defined name of my user event provider is visible.

are all my observaton intended?


Solution

  • The name you use in the C++ code is unrelated to the display name on your pc.

    You'd have a displayed name (instead of GUID) if this was a manifested installed provider, but TraceLogging isn't manifested (at least, not in the classical sense - an impromptu manifest is embedded into the image, and sent in the messages).