[package]
authors = ["killzoner"]
edition = "2024"
name = "pprof_hyper_server"
resolver = "3"
version = "0.2.1"
description = "A minimal pprof server implementation using hyper without runtime dependency"
documentation = "https://docs.rs/pprof_hyper_server"
keywords = ["pprof", "server", "profiling"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/killzoner/pprof-hyper-server"
[dependencies]
anyhow = { version = "1.0.101", default-features = false }
async-channel = { version = "2.5.0", default-features = false }
async-executor = { version = "1.13.3", default-features = false }
async-io = { version = "2.6.0", default-features = false }
flate2 = { version = "1.1.9", default-features = false, features = [
"zlib",
], optional = true }
form_urlencoded = { version = "1.2.2", default-features = false, features = [
"alloc",
] }
http-body-util = { version = "0.1.3", default-features = false }
hyper = { version = "1.8.1", default-features = false, features = [
"server",
"http1",
] }
smol-hyper = { version = "0.1.1", default-features = false }
[target.'cfg(not(target_env = "msvc"))'.dependencies]
jemalloc_pprof = { version = "0.8.2", optional = true, features = [
"symbolize",
] }
pprof = { version = "0.15.0", default-features = false, optional = true, features = [
"cpp",
"prost-codec",
] }
tikv-jemallocator = { version = "0.6.1", default-features = false, optional = true, features = [
"profiling",
"unprefixed_malloc_on_supported_platforms",
] }
[dev-dependencies]
clap = { version = "4.5.57", default-features = true, features = [
"derive",
"env",
] }
tokio = { version = "1.49.0", default-features = false, features = [
"macros",
"rt-multi-thread",
"time",
] }
[target.'cfg(not(target_env = "msvc"))'.dev-dependencies]
tikv-jemalloc-sys = { version = "0.6.1", default-features = false }
tikv-jemallocator = { version = "0.6.1", features = [
"background_threads_runtime_support",
"background_threads",
"stats",
"unprefixed_malloc_on_supported_platforms",
"profiling",
"override_allocator_on_supported_platforms",
] }
[features]
default = ["pprof"]
pprof = ["pprof_cpu", "pprof_heap"]
pprof_cpu = ["dep:pprof", "dep:flate2"]
pprof_heap = ["dep:jemalloc_pprof", "dep:tikv-jemallocator"]
[[example]]
name = "server"
required-features = ["pprof"]
[[example]]
name = "heap_profile_diff"
required-features = ["pprof_heap"]