Releases: mstange/samply
Releases · mstange/samply
wholesym-v0.7.0
chore: Release wholesym version 0.7.0
samply-symbols-v0.23.0
chore: Release samply-symbols version 0.23.0
wholesym-v0.6.0
chore: Release wholesym version 0.6.0
samply-symbols-v0.22.1
chore: Release samply-symbols version 0.22.1
samply-api-v0.23.1
chore: Release samply-api version 0.23.1
0.12.0 - 2024-04-16
Release Notes
Breaking changes
- The minimum supported Rust version is now 1.74.
samply load perf.data
is now calledsamply import perf.data
.- The
--port
alias has changed from-p
to-P
.
Features
- Linux: Allow attaching to running processes with
samply record -p [pid]
(#18, by @ishitatsuyuki) - Linux, macOS: Support Jitdump in
samply record
. - Linux: Support Jitdump in
samply import perf.data
withoutperf inject --jit
. - Linux, macOS: Support
/tmp/perf-[pid].map
(#34 + #36, by @bnjbvr) - Linux, macOS: Support specifying environment variables after
samply record
. - Linux, macOS: Add
--iteration-count
and--reuse-threads
flags tosamply record
. - Linux: Support symbolication with
.dwo
and.dwp
files. - Linux: Support unwinding and symbolicating VDSO frames.
- Linux, macOS: Support overwriting the launched browser with
$BROWSER
(#50, by @ishitatsuyuki) - Linux, macOS: Add
--profile-name
argument tosamply record
andsamply import
to allow overriding the profile name (#68, by @rukai) - Linux, macOS: Support Scala Native demangling (#109, by @keynmol)
- macOS: Support
--main-thread-only
insamply record
, for lower-overhead sampling - macOS, Linux: Unstable support for adding markers from
marker-[pid].txt
files which are opened (and, on Linux, mmap'ed) during profiling. - Linux: Support kernel symbols when importing
perf.data
files with kernel stacks, if/proc/sys/kernel/kptr_restrict
is0
. - Android: Support importing
perf.data
files recorded with simpleperf's--trace-offcpu
flag.
In progress
- Linux: Groundwork to support profiling Wine apps (by @ishitatsuyuki)
Fixes
- Linux, macOS: Don't discard information from processes with reused process IDs (e.g. due to exec).
- Linux: Support recording on more types of machines, by falling back to software perf events in more cases. (#70, by @rkd-msw)
- Linux: Fix out-of-order samples. (#30 + #62, by @ishitatsuyuki)
- Linux: Fix unwinding and symbolicating in processes which have forked without exec.
- Linux: Capture startup work of launched processes more reliably.
- Linux: Fix debuglink symbolication in certain cases. (#38, by @zecakeh)
- Linux: Fix stackwalking if unwinding information is stored in compressed
.debug_frame
sections. (#10, by @bobrik) - macOS: Fix symbolication of system libraries on x86_64 macOS 13+.
- Android: Allow building samply for Android. (#76, by @flxo)
- macOS: Fix Jitdump symbolication for functions which were JITted just before the sample was taken (#128, by @vvuk)
- macOS, Linux: More reliable handling of Ctrl+C during profiling.
- macOS: Support recording workloads with deep recursion by eliding the middle of long stacks and not running out of memory.
- x86_64: Improve disassembly of relative jumps by displaying the absolute target address (#54, by @jrmuizel)
- macOS: Use yellow instead of blue, for consistency with Linux which uses yellow for user stacks and orange for kernel stacks.
Other
Install samply 0.12.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mstange/samply/releases/download/samply-v0.12.0/samply-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/mstange/samply/releases/download/samply-v0.12.0/samply-installer.ps1 | iex"
Download samply 0.12.0
File | Platform | Checksum |
---|---|---|
samply-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
samply-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
samply-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
samply-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
samply-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
v0.11.0
This release comes with the following fixes:
- Fixed a panic when closing the profiler tab during loading. (#11)
- On Linux,
samply load perf.data
will now include kernel symbols from/proc/kallsyms
if run with root privileges. - On Linux, if the
DEBUGINFOD_URLS
environment variable is set, samply will fetch symbols from the listed debuginfod servers. - In the profile JSON, additional properties are set to hide some unnecessary UI elements.
- In the profile JSON, macOS library information now has the right "arch" values. Furthermore, symbolication of macOS system libraries from the dyld shared cache will only check the dyld cache files for that architecture.
v0.10.1
This release raises the minimum supported Rust version to 1.61.
It comes with the following fixes compared to 0.9:
- On macOS 13, system libraries will have symbols again. (ajdusted dyld shared cache paths)
- On Linux, there will be fewer panics during recording.
- On Linux, there will be a useful error message if perf event paranoid settings are inadequate.
- CLI argument parsing is improved when recording executables with arguments. 0.9 sometimes required the use of
--
.
v0.8.0
This release rewrites stackwalking to make use of various types of unwinding info. Stacks should now be higher quality, and frame pointers are no longer required.