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