Who knows where the time goes?
pprofessor is a native sampling profiler for macOS. Spawn a process or attach to a running one — and get a standard pprof profile you can open anywhere.

Profile anything in one command.
Run
Spawn your binary under the profiler and capture it from first instruction to exit. Signals forward to the child.
Or attach
Attach to a running process by PID. Ctrl-C when you have enough samples and the profile is written out.
Open it anywhere
The output is standard gzip-compressed pprof — go tool pprof, Grafana, or Sequins.
# Profile a command, start to finish pprofessor run --freq 99 ./my-binary # Or attach to a running process pprofessor attach 12345 # Explore the result go tool pprof -http=:8080 profile.pb.gz
No language SDKs, no recompiling — pprofessor samples native stacks from outside the process.
Native, accurate, and standard.
Run & attach modes
Profile a child process from its very first sample, or clip into anything already running by PID.
DWARF symbolication
Function names, files, and line numbers resolved with addr2line and gimli. No guessing from symbol exports.
Apple Silicon native
Frame-pointer stack walking on aarch64 and x86_64, with PAC-bit stripping on Apple Silicon.
Standard pprof output
Gzip-compressed protobuf that any pprof-compatible tool reads. No custom formats, no lock-in.
Profiles feel at home in Sequins.
Drop your pprofessor profiles into Sequins for interactive flame graphs next to your traces, logs, and metrics — all local, all free.