You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
Linux capture now holds zero-copy ring records until timestamp ordering releases them, uses bounded loss/recovery pacing, and reports the effective per-CPU data-ring capacity.
Perf rings use a 1 GiB aggregate recorder budget and a 256 MiB per-CPU ceiling. Wakeup watermarks follow the effective budgeted or fallback capacity.
Forked processes reuse inherited unwind and ELF state. Shared ELF retention is bounded by image count and bytes.
CI now tests Linux x86-64 and AArch64, Rust 1.88, and every Cargo feature combination.
CI audits Cargo.lock, checks public API compatibility, verifies the packaged crate, and rejects undocumented unsafe blocks and unannotated explicit panics in library code.
Rustdoc now links tutorials, recipes, reference material, design notes, and the SPULSE format contract. GitHub Pages publishes the generated documentation.
Perf-map parsing moved to symbolize::perf_map; executable module tracking moved to linux::module_tracking.
AArch64 unwinding now strips pointer-authentication bits from recovered return addresses.
Recording, spool reading, and symbolization now use the Recorder, Snapshot, Replay, and Symbolizer APIs. Typed Pid and Tid values reject invalid identifiers at the boundary, and Recorder::poll combines waiting with event draining.
Native symbolizers now receive batched NativeLookup requests. Symbolizer::resolve returns borrowed resolved stacks and supports caller-owned stack caching.
NativeModule and NativeLookup have public constructors for custom-symbolizer tests, with opaque image identities generated by StackPulse.
Recording, process management, liveness checks, spool reading, and symbolization return stackpulse::Result. ErrorKind::TargetGone distinguishes a vanished process while retaining the original OS error.