Search code examples
c#etwperfview

C# ETW. How view call stack in PerfView?


Given

  1. The implementation ETW provider (inherited from EventSource) with dynamic events. Provider name "IDS-IDComplete-DynamicTrace"

  2. My implementation of Windows service, in which the events of ETW are generated

  3. I collect events from the service using PerfVev:

PerfView.exe collect ETWTrace.etl /merge /zip /OnlyProviders=*IDS-IDComplete-DynamicTrace

  1. I see all my events.

PerfView with my events

Question

How can I view the call stack in PerfVev so I can see the calls to my code?


Solution

  • you have not captured callstacks. At commandline at the option @StacksEnabled set to true to capture callstacks: /providers=YOUR_EVENTSOURCE@StacksEnabled=true:

    PerfView.exe collect ETWTrace.etl /merge /zip /Providers=*IDS-IDComplete-DynamicTrace@StacksEnabled=true