Releases: vibesrc/rsprof
Releases · vibesrc/rsprof
v0.1.8
What's New
Append Mode (--append / -a)
- Continue recording to the most recent profile for a process instead of creating a new file
- When appending, TUI shows historical data immediately
- Chart can pan back to see data from previous recording sessions
- Timestamps continue seamlessly from where the previous recording ended
Usage
# First recording
rsprof -p <PID>
# Continue recording to the same file later
rsprof -p <PID> --append
# Or specify a specific file
rsprof -p <PID> -o profile.db --appendv0.1.7
What's Changed
- Switch to aggregated callsite stats model for CPU/heap profiling
- Add
shorten_function_name()to displayType::methodor justfunction - Strip hash suffix before shortening for cleaner display
- Add CPU test patterns: sawtooth, square wave, varying depths
- Add heap test patterns: sawtooth, square wave, varying depths
Full Changelog: v0.1.6...v0.1.7
rsprof v0.1.6
Highlights:\n- Remove self-profile support to keep publishable dependencies clean.
rsprof v0.1.5
Highlights:\n- Remove eBPF heap backend; heap profiling now relies on rsprof-trace shared memory.\n- Simplify heap sampler paths and dependencies.
v0.1.3
v0.1.2
v0.1.1
What's Changed
Bug Fixes
- Fixed heap sample over-counting: Heap stats were being recorded on every loop iteration (every 10ms) with cumulative values, causing massive inflation. Now recorded once per checkpoint.
- Fixed rsprof_trace filtering: The TUI had a duplicate
SKIP_FUNCTION_PATTERNSthat was missingrsprof_trace::, causing profiler internals to appear in results. - Fixed ASLR offset calculation: Changed from using executable segment to first segment for correct symbol resolution.
Improvements
- Better function name formatting: Trait impls like
<Type as Trait>::methodnow display asmodule::Type::method - Utility function attribution:
clone,fmt,to_string, etc. now attribute allocations to their callers instead of showing struct field lines - Sort heap by live bytes: Heap query now sorts by
live DESCto surface memory leaks first - Frame pointers for all crates: Added
.cargo/config.tomlto ensure frame pointers are enabled for accurate stack traces
Full Changelog
v0.1.0
Initial release of rsprof - a zero-instrumentation profiler for Rust.
Features
- CPU profiling via perf events
- Heap profiling via eBPF uprobes or rsprof-trace shared memory
- Interactive TUI with real-time charts
- SQLite storage for profile data
- Symbol resolution with DWARF debug info