Open verdie-g opened 7 months ago
The issue that you're running into here is that the CallStack
method can only be used on events that come from a TraceLogEventSource
. You will need to create a TraceLog
, and then you can call TraceLog.Events.GetSource()
, register the callbacks, and then call Process
on the source.
string etlxPath = TraceLog.CreateFromEventPipeDataFile(pathToNetTrace);
using TraceLog traceLog = new TraceLog(etlxPath);
using TraceLogEventSource source = traceLog.Events.GetSource();
source.Clr.All += evt => evt.CallStack();
source.Process();
I'm a bit confused about how to read events from a .nettrace file. I think I'm supposed to use the EventPipeEventSource with such code
but
TraceEvent.CallStack
throws withAttempted to use TraceLog support on a non-TraceLog TraceEventSource
so now it seems like I'm not using the right event source. What is the right API to use?