PackageTrack
Sign in Get early access

pprof2

An internal perf tools for rust programs.

0.13.1 4.9M downloads/mo #4560 most downloaded on crates.io tikv/pprof-rs

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Too new to tell

only 2 dated releases

Nearly every release is documented

notes for 2 of 2 stable releases

Nothing withdrawn

no release was ever pulled

2 years old

2 releases · first in 2024

0 releases in the last 12 months

see the full history below

Release timeline

2 releases · Oct 2024 to Nov 2024
2025 2026
Release Pre-release

Releases

latest 2
  1. 0.13.1 21 Nov 2024
    Release notes

    Other

    • update dependencies
    • release (#1)
    Open source →
  2. 0.13.0 11 Oct 2024
    Release notes

    Changed

    • Upgrade prost, prost-derive, prost-build to 0.12 (#223)
    Open source →
    Release notes

    Added

    • Fix and cover tests for target x86_64-unknown-linux-musl (#140)

    Fixed

    • renaming
    • remove protobuf crate
    • check if ptr is valid in validate
    • rename crate in examples
    • use T aligned pointer in TempFdArray
    • handle potentially unaligned frame pointer (#217)
    • fix memory leak in collector (#84)
    • fix clippy error (#52)
    • fix incorrect inline functions (#50)
    • fix test
    • fix example import (#25)
    • fix bugs caused by link test all the time
    • fix bugs in TempFdArray
    • fix bug: buffer in TempFdArray should be sliced when iter around it
    • fix bug: malloc shouldn't be used in signal handler
    • fix cargo warning

    Other

    • Update release-plz.yaml
    • Update rust.yml
    • Update rust.yml
    • move cpu logs to debug
    • update prost file
    • fix benches
    • fix lints
    • update CI minimum to 1.81.0
    • Create release-plz.yaml
    • update dependencies
    • Rename to pprof2, update MSRV
    • Bump version to v0.13.0 (#226)
    • Update prost, prost-derive and prost-build to 0.12 (#223)
    • Fix clippy errors (#224)
    • Fix CI for 1.64.0 (#225)
    • Bump version to v0.12.1 (#220)
    • Change sc_pc to __pc for loongarch64 (#218)
    • Bump version to v0.12.0 (#215)
    • Support freebsd (#213)
    • update to criterion 0.5 (#212)
    • hide perf_signal_handler frames on macOS (#207)
    • Splitting profile_proto example (#208)
    • Bump the symbolic-demangle to 12.1 (#205)
    • Correct required-features for profile_proto example (#206)
    • Fix build for aarch64-linux-android (#202)
    • Bump the MSRV to 1.64.0 (#204)
    • bump version to 0.11.1 (#199)
    • use globally shared pipe to validate memory (#198)
    • update the prost generated file and remove malloc_free (#188)
    • Update nix requirement from 0.24 to 0.26 (#179)
    • Add loongarch64 support (#174)
    • add riscv arch (#169)
    • Improve prost file format (#175)
    • Bump version to v0.11.0 (#173)
    • Update symbolic-demangle requirement from 9.0 to 10.1 (#170)
    • Only do per-frame-blocklist-check when frame-pointer is enabled (#172)
    • Restart syscalls interrupted by SIGPROF when possible (#167)
    • update prost 0.11 (#166)
    • Update criterion requirement from 0.3 to 0.4 (#163)
    • Bump version to v0.10.1 (#162)
    • Bump version to v0.10.1 (#161)
    • Increase the max supported stack depth to 128 (#159)
    • ignore prost mod and fix clippy warning (#160)
    • Bump version to v0.10.0 (#146)
    • Make clippy happy in all targets (#144)
    • Update symbolic-demangle requirement from 8.0 to 9.0 (#137)
    • Adds timing info to each sample (#133)
    • Export UnresolvedReport (#132)
    • Optimize mutually exclusive features (#130)
    • Bump version to 0.9.1 (#129)
    • Protect errno (#128)
    • bump version to v0.9.0 (#124)
    • add fs feature (#125)
    • Update nix to 0.24, limit features (#121)
    • Unwind through frame pointer (#116)
    • Bump version to 0.8 (#118)
    • Update prost requirement from 0.9 to 0.10 (#115)
    • Update prost-build requirement from 0.9 to 0.10 (#114)
    • Update prost-derive requirement from 0.9 to 0.10 (#113)
    • Update Readme to fix the pprof version (#117)
    • add vdso to the blocklist in README.md (#111)
    • Fix pthread_getname_np not available on musl (#110)
    • Bump version to 0.7.0 (#109)
    • add rust 1.56.0 to the ci matrix (#108)
    • Update inferno requirement from 0.10 to 0.11 (#107)
    • add msrv to the README.md (#101)
    • Bump actions/checkout from 2 to 3 (#105)
    • support rust-protobuf (#106)
    • change to once_cell from lazy_static (#103)
    • Update parking_lot requirement from 0.11 to 0.12 (#99)
    • bump version to v0.6.2 (#96)
    • add CHANGELOG (#97)
    • (derive) add Clone directive to ProfilerGuardBuilder (#95)
    • Add thread names and timing information to protobuf reports (#90)
    • Fine tune the usage of MaybeUninited (#89)
    • add allow(clippy::large_enum_variant) to Output (#93)
    • migrate to rust 2021 (#91)
    • bump version to v0.6.1 (#87)
    • avoid deadlock by skipping sampling in libc, libgcc and pthread (#85)
    • bump version to v0.6.0 (#83)
    • bump deps and make clippy happy (#82)
    • bump version to v0.5.0
    • Bump prost* (#73)
    • Bump actions-rs/cargo from 1 to 1.0.3 (#63)
    • Bump actions-rs/toolchain from 1 to 1.0.7 (#64)
    • bump version to v0.4.4
    • add phantom data for criterion output (#68)
    • modify document according to the current API (#62)
    • bump version to v0.4.3
    • Adjust the output paths criterion::PProfProfiler uses to support benchmark groups (#59)
    • Update nix requirement from 0.19 to 0.20 (#56)
    • bump version to v0.4.2
    • Fix compilation error on arm architecture (#55)
    • implement criterion Profiler (#53)
    • bump version to v0.4.1
    • allow passing custom flamegraph options (#51)
    • bump version to v0.4.0
    • bump version to v0.3.21
    • give a reasonable hint for musl-libc based host (#47)
    • Update rand requirement from 0.7.2 to 0.8.0 (#46)
    • Update nix requirement from 0.17 to 0.19 (#43)
    • Add dependabot to keep dependencies up to date (#42)
    • bump version to v0.3.20
    • split symbolic-demangle into multiple features
    • bump version to 0.3.19
    • ignore SIGPROF rather than default signal handler
    • refactor frame.rs and parts of others (#37)
    • Add license scan report and status (#39)
    • bump to version 0.3.18
    • Add Report::build_unresolved API (#35)
    • Fix erroneous comment (#34)
    • Remove extraneous mut (#33)
    • bump to version 0.3.17
    • Use criterion for benchmarking (#30)
    • Replace spin with parking_lot (#29)
    • Update README.md
    • bump to version 0.3.16
    • use symbolic_demangle
    • bump to version 0.3.15
    • filter out signal handler function
    • filter out signal handler function
    • bump to version 0.3.14
    • get backtrace after getting lock
    • remove lock in backtrace::backtrace
    • bump version to 0.3.13
    • only use thread name on linux and macos
    • reset dependency version
    • Miscellaneous tidying up
    • bump version to v0.3.12
    • stop timer before profiler stops
    • Merge remote-tracking branch 'origin/master'
    • turn collector into sum counter
    • move collector data from stack to heap
    • add benchmark
    • Fix typo & add benchmark
    • Add a image of pprof output
    • update protobuf README.md and example
    • upgrade version
    • support protobuf
    • merge with lonng's proto support
    • update README.md and documentation
    • update readme and documents
    • insert badges into README.md
    • update README.md
    • add document of pprof
    • add introduction to frame_post_processor in README.md
    • update version
    • smaller buffer length
    • update README.md
    • remove test on malloc
    • update version
    • update crate name
    • update version
    • add test for malloc
    • use less stack space
    • update README.md
    • update version
    • update version
    • use pthread functions to get thread id and thread name
    • make clippy happy!
    • support frames post processor
    • add thread_id and thread_name message in sampler and report
    • update version
    • update guard related codes
    • update version
    • modify README.md to use RwLock
    • impl Send for Symbol
    • resolve frame at report time
    • update version
    • unregister signal when start processing
    • add some logs
    • add guard support
    • remove uneeded println!
    • clear data after stop
    • check for whether profiler is running
    • remove uneeded use
    • add repository in Cargo.toml
    • add README.md and description
    • ignore first two layers of profiler
    • add flamegraph feature
    • use symbol to seperate functions
    • simple profiler
    • Initial commit
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive