-
Notifications
You must be signed in to change notification settings - Fork 386
Description
When running dotnet trace to collect events emitted by an EventSource created with EtwSelfDescribingEventFormat, the trace file will contain unreadable data for some events.
Repro program: TraceTest.cs
The repro has two EventSources.
FooTelemetry uses EtwSelfDescribingEventFormat and BarTelemetry uses EtwManifestEventFormat.
When using EtwSelfDescribingEventFormat the bool argument will be encoded in the payload as a single byte.


When using EtwManifestEventFormat, the bool will be encoded as 4 bytes.


Screenshots above are from a trace collected by dotnet trace viewed in PerfView - it appears PerfView tries to interpret the bools in the payload as 4 bytes in both cases.
If the traces are instead collected from within PerfView, both formats work fine.
Attaching the traces collected by dotnet trace and PerfView if it's any help.
You can see FooTelemetry is broken for dotnet trace while all other configurations work.
Traces.zip