v0.2.0
Stackpulse 0.2.0 makes module identity, VMA lifetimes, native unwinding, and perf attachment reliable under remaps, process churn, and lost lifecycle events.
Fixed
- Canonical module IDs now flow consistently through VMA tracking, Framehop, spooling, and symbolization.
- ELF load bias handles valid page-rounded segments without guessing across ambiguous boundaries.
- Exact file identity survives MMAP2, remaps, partial replacements, PID/TID reuse, and LOST recovery.
- Deleted and transient mapped ELF files can be reopened through
/proc/<pid>/map_files. - vDSO mappings provide native unwind information when readable.
- Attach waits for a stable thread-group stop and resumes only stops Stackpulse initiated.
Performance
- One real sampling counter owns each per-CPU mmap ring and same-CPU counters redirect into it, matching perf while eliminating CPU×task ring duplication.
- Repeated mappings of the same ELF reuse symbolizer state.
- Unused non-executable MMAP traffic is no longer requested.
Changed
ModuleRecordexposes device and inode-generation identity.- New profiles use
SPULSE3; readers remain compatible withSPULSE1andSPULSE2.