[package]
edition = "2024"
name = "profiler"
version = "0.2.1"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multi-span metrics based profiler and benchmarking library for Rust"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/vldm/profiler"
[features]
auto_detect = [
"dep:kperf-sys",
"dep:perf-event",
]
auto_sudo = ["dep:sudo"]
default = ["auto_detect"]
kperf = ["dep:kperf-sys"]
libc = ["dep:libc"]
perf_event = ["dep:perf-event"]
[lib]
name = "profiler"
path = "src/lib.rs"
[[bench]]
name = "easy"
path = "benches/easy.rs"
harness = false
[[bench]]
name = "macos_kperf"
path = "benches/macos_kperf.rs"
harness = false
[[bench]]
name = "macro_extended"
path = "benches/macro_extended.rs"
harness = false
[[bench]]
name = "tracing"
path = "benches/tracing.rs"
harness = false
[[bench]]
name = "typed_fibonacci"
path = "benches/typed_fibonacci.rs"
harness = false
[dependencies.core_affinity]
version = "0.8.3"
[dependencies.libc]
version = "0.2.183"
optional = true
[dependencies.profiler_macros]
version = "0.2.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.sudo]
version = "0.6.0"
optional = true
[dependencies.thiserror]
version = "1.0.40"
[dependencies.thread_local]
version = "1.1.9"
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3"
[target.'cfg(target_os = "linux")'.dependencies.perf-event]
version = "0.4.9"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.kperf-sys]
version = "0.0.3"
optional = true