pprof-alloc 0.2.0

Allocation profiling and Linux memory telemetry for Rust services.
Documentation
[package]
name = "pprof-alloc"
version = "0.2.0"
edition = "2024"
rust-version = "1.87"
description = "Allocation profiling and Linux memory telemetry for Rust services."
license = "Apache-2.0"
repository = "https://github.com/howardjohn/pprof-alloc"
documentation = "https://docs.rs/pprof-alloc"
readme = "README.md"
keywords = ["pprof", "allocator", "profiling", "memory", "heap"]
categories = ["development-tools::profiling", "memory-management", "os::linux-apis"]
include = [
	"Cargo.toml",
	"LICENSE",
	"README.md",
	"examples/**",
	"src/**",
]

[features]
default = ["frame-pointer"]
frame-pointer = []
allocator-jemalloc = ["dep:tikv-jemalloc-ctl"]
allocator-mimalloc = ["dep:libmimalloc-sys"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
backtrace = "0.3"
anyhow = "1.0"
flate2 = "1.1"
prost = "0.13"
paste = "1.0"
num = "0.4"
itertools = "0.14"
dashmap = "6.1"
lazy_static = "1.5"
once_cell = "1.21"
tracing = "0.1"
libc = "0.2"
smallvec = "1.15"
ahash = "0.8"
regex = "1.12"
errno = "0.3"
thiserror = "1.0"
quick-xml = { version = "0.38", features = ["serialize"] }
prometheus-client = "0.24"
tikv-jemalloc-ctl = { version = "0.6", optional = true, features = ["stats", "use_std"] }
libmimalloc-sys = { version = "0.1", optional = true, features = ["extended"] }

[dev-dependencies]
human_bytes = "0.4"
parking_lot = "0.12"
rand = "0.8"
tokio = { version = "1.0", features = ["full"] }

[[example]]
name = "allocation_patterns"
path = "examples/allocation_patterns.rs"