Skip to content

Releases: vibesrc/rsprof

v0.1.8

23 Jan 20:18

Choose a tag to compare

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 --append

v0.1.7

23 Jan 19:34

Choose a tag to compare

What's Changed

  • Switch to aggregated callsite stats model for CPU/heap profiling
  • Add shorten_function_name() to display Type::method or just function
  • 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

23 Jan 14:05

Choose a tag to compare

Highlights:\n- Remove self-profile support to keep publishable dependencies clean.

rsprof v0.1.5

23 Jan 13:54

Choose a tag to compare

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

20 Jan 22:18

Choose a tag to compare

  • Fix fmt/clippy warnings\n- Remove stale example entry\n- TUI table sorting and selection stability\n- Version bump to 0.1.3

v0.1.2

20 Jan 22:13

Choose a tag to compare

  • Add README screenshots\n- TUI table sorting with clickable headers and stable selection\n- Reduce live TUI DB polling and refresh heap chart cache\n- Bump version to 0.1.2

v0.1.1

13 Jan 21:44

Choose a tag to compare

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_PATTERNS that was missing rsprof_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>::method now display as module::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 DESC to surface memory leaks first
  • Frame pointers for all crates: Added .cargo/config.toml to ensure frame pointers are enabled for accurate stack traces

Full Changelog

v0.1.0...v0.1.1

v0.1.0

12 Jan 14:14

Choose a tag to compare

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