Skip to content

v0.8.7 — dotnet sidecar: CSwitch stacks, ReadyThread, process-name synthesis, stack attribution

Choose a tag to compare

@nijosmsft nijosmsft released this 26 Jun 19:30

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.