Repository navigation
0.6.0
xcover 0.6.0
Highlights
- Userspace BPF mode (
--userspace-bpf, experimental). Runs the tracer through bpftime with no kernel trap and noCAP_BPF. The release archives do not include it: build from source withmake xcover-userspace. See docs/userspace-bpf.md. xcover mergecombines reports from several sessions (#190).--ringbuf-sizesizes the event ring buffer, 16 MiB by default (#216). A full ring or map now counts drops and the report warns that it undercounts (#188, #235).- C++ and Rust names are demangled in filters and reports (#198).
- Preflight checks report missing capabilities or an old kernel before loading BPF (#191).
--pidworks (#189), andwaitandstopprint one clear message plus the daemon log tail when the daemon is gone (#215, #233).- Reports are deterministic and self-describing, and xcover fails instead of writing a wrong one (#185, #187). Function discovery on Go binaries is fixed (#186).
- Safer daemon lifecycle: the PID file is written atomically and once (#208), one validation path guards both run modes (#234), and symbol filters are refused when a stripped binary has no symbol table (#236).
Performance
Per-call overhead of a traced call is about half of 0.5.1 in kernel mode (554 ns against 1122 ns on a seen function), since debug printing is now compiled out of the BPF hot path.
Install
curl -LO https://github.com/maxgio92/xcover/releases/download/0.6.0/xcover_0.6.0_linux_x86_64.tar.gz
tar -xzf xcover_0.6.0_linux_x86_64.tar.gz
sudo mv xcover /usr/local/bin/
sha256sum -c checksums.txtFull Changelog: 0.5.1...0.6.0