[package]
name = "stackpulse"
version = "0.5.0"
edition = "2021"
description = "Linux perf_event stack sampling with native unwinding, symbolization, and compact spooling"
license = "MIT"
repository = "https://github.com/pablogsal/stackpulse"
keywords = ["profiler", "linux", "perf", "sampling", "unwind"]
categories = ["development-tools::profiling"]
include = [
"Cargo.lock",
"Cargo.toml",
"CHANGELOG.md",
"LICENSE-MIT",
"README.md",
"benches/**",
"docs/**",
"examples/**",
"src/**",
"tests/**",
]
[lints]
workspace = true
[dependencies]
bitflags = "2.4"
framehop = "0.16.0"
gimli = { version = "0.33", default-features = false, features = ["read"] }
goblin = "0.9"
integer-encoding = { version = "4.1.0", default-features = false }
libc = "0.2"
memchr = "2.7"
memmap2 = "0.9"
mio = { version = "1", features = ["os-ext", "os-poll"] }
nix = { version = "0.29", features = ["fs", "process", "signal"] }
object = { version = "0.39", default-features = false, features = ["std", "read_core", "elf", "compression"] }
perf-event-open = { version = "0.5", features = ["linux-6.0"] }
perf-event-open-sys = "6.0"
rustc-hash = "2.1"
tokio = { version = "1.38", features = ["rt", "io-util", "sync", "time", "net"] }
tracing = "0.1"
wholesym = "0.8.1"
[features]
default = []
bench-support = []
debuginfod = []
[dev-dependencies]
criterion = { version = "4.7.0", package = "codspeed-criterion-compat" }
flate2 = "1.1"
fxprof-processed-profile = "0.8.1"
serde_json = "1"
[[bench]]
name = "stackpulse_suite"
harness = false
required-features = ["bench-support"]
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
cognitive_complexity = "warn"