[package] name = "pprof2" version = "0.13.1" authors = ["Yang Keao "] edition = "2021" license = "Apache-2.0" description = "An internal perf tools for rust programs." repository = "https://github.com/tikv/pprof-rs" documentation = "https://docs.rs/pprof/" readme = "README.md" rust-version = "1.81.0" # MSRV [features] default = ["cpp"] cpp = ["symbolic-demangle/cpp"] flamegraph = ["inferno"] frame-pointer = [] # A private feature to indicate either prost-codec or protobuf-codec is enabled. _protobuf = [] prost-codec = ["prost", "prost-derive", "prost-build", "sha2", "_protobuf"] [dependencies] backtrace = { version = "0.3" } once_cell = "1.20" libc = "^0.2.164" log = "0.4" nix = { version = "0.27", default-features = false, features = ["signal", "fs"] } parking_lot = "0.12" tempfile = "3.14" thiserror = "2.0" findshlibs = "0.10" cfg-if = "1.0" smallvec = "1.13" inferno = { version = "0.12", default-features = false, features = ["nameattr"], optional = true } prost = { version = "0.13", optional = true } prost-derive = { version = "0.13", optional = true } criterion = {version = "0.5", optional = true} [dependencies.symbolic-demangle] version = "12.12" default-features = false features = ["rust"] [dev-dependencies] criterion = "0.5" rand = "0.8.5" [build-dependencies] prost-build = { version = "0.13", optional = true } sha2 = { version = "0.10", optional = true } [[example]] name = "flamegraph" required-features = ["flamegraph"] [[example]] name = "profile_proto_with_prost" required-features = ["protobuf", "prost-codec"] [[example]] name = "profile_proto_with_protobuf_codec" required-features = ["protobuf", "protobuf-codec"] [[example]] name = "multithread_flamegraph" required-features = ["flamegraph"] [[example]] name = "criterion" required-features = ["flamegraph", "criterion"] [[bench]] name = "collector" path = "benches/collector.rs" harness = false [[bench]] name = "addr_validate" path = "benches/addr_validate.rs" harness = false [package.metadata.docs.rs] all-features = true