v0.8.7 — dotnet sidecar: CSwitch stacks, ReadyThread, process-name synthesis, stack attribution
v0.8.7 — dotnet sidecar: CSwitch stacks, ReadyThread, process-name synthesis, stack attribution
This release fixes the dotnet sidecar stream (PR #28). Five blocking defects resolved with exact xperf-oracle parity on mmsg-stacks.etl.
Fixed
- #5 — CSwitch stacks all-null: QPC timestamp-only fallback pairs CSwitch+StackWalk across TID mismatch — 168,244/168,244 rows now carry a Stack (0 → 100%).
- #6 — PendingStackBuffer evicting ~24% of stacks: FIFO capacity 1024 → 65,536; O(1) _byQpc index + TsFallbackPairings telemetry. Eviction 24% → 7.6%.
- #7 — 0 ReadyThread events: _wantReady auto-activated with CSwitch. 83,455 rows (== xperf oracle).
- #12 — CSwitch missing OldProcessName/NewProcessName: Synthesized from PID→name map; fixes get_lock_contention crash on dotnet traces.
- #11 — Stacks collapse to 1 unknown row: Image index from raw Image/* frames; 94 real modules now returned.
Added
- #17 — Parameterized CSwitch schema parity tests: 1097 passed / 16 skipped.