[package]
edition = "2021"
name = "hotpath"
version = "0.11.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Simple async Rust profiler with memory and data-flow insights - quickly find and debug performance bottlenecks."
readme = "README.md"
categories = ["development-tools"]
license = "MIT"
repository = "https://github.com/pawurb/hotpath-rs"
[features]
ci = [
"dep:serde",
"dep:serde_json",
"dep:eyre",
"dep:clap",
"dep:prettytable-rs",
"dep:ureq",
]
crossbeam = []
default = ["threads"]
dev = ["dep:chrono"]
futures = [
"dep:tokio",
"tokio/sync",
"tokio/macros",
"tokio/time",
"tokio/rt-multi-thread",
"dep:futures-channel",
]
hotpath = [
"hotpath-macros/hotpath",
"dep:arc-swap",
"dep:cfg-if",
"dep:clap",
"dep:colored",
"dep:crossbeam-channel",
"dep:eyre",
"dep:hdrhistogram",
"dep:prettytable-rs",
"dep:quanta",
"dep:regex",
"dep:serde",
"dep:serde_json",
"dep:tiny_http",
"dep:futures-util",
"dep:pin-project-lite",
"dep:libc",
"dep:mach2",
]
hotpath-alloc = ["dep:tokio"]
hotpath-alloc-meta = ["hotpath-meta/hotpath-alloc-meta"]
hotpath-mcp = [
"hotpath",
"dep:rmcp",
"dep:tokio",
"tokio/rt",
"tokio/net",
"dep:axum",
"dep:tokio-util",
"dep:chrono",
"dep:schemars",
]
hotpath-mcp-meta = ["hotpath-meta/hotpath-mcp-meta"]
hotpath-meta = [
"dep:hotpath-meta",
"hotpath-meta/hotpath-meta",
"hotpath-meta/crossbeam",
]
hotpath-off = ["hotpath-macros/hotpath-off"]
threads = []
tokio = [
"dep:tokio",
"tokio/sync",
"tokio/macros",
"tokio/time",
"tokio/rt-multi-thread",
]
tui = [
"dep:serde",
"dep:serde_json",
"dep:eyre",
"dep:clap",
"dep:prettytable-rs",
"dep:reqwest",
"dep:crossterm",
"dep:ratatui",
"dep:chrono",
"dep:crossbeam-channel",
"dep:tokio",
"tokio/rt",
"dep:tracing",
"dep:tracing-subscriber",
"dep:time",
"crossbeam",
]
[lib]
name = "hotpath"
path = "src/lib.rs"
[[bin]]
name = "hotpath"
path = "bin/hotpath/main.rs"
required-features = ["tui"]
[[bin]]
name = "hotpath-ci"
path = "bin/hotpath-ci/main.rs"
required-features = ["ci"]
[[bin]]
name = "hotpath-crashtest"
path = "bin/hotpath-crashtest/main.rs"
required-features = [
"tui",
"hotpath",
"hotpath-alloc",
]
[[test]]
name = "channels_crossbeam"
path = "tests/channels_crossbeam.rs"
[[test]]
name = "channels_ftc"
path = "tests/channels_ftc.rs"
[[test]]
name = "channels_std"
path = "tests/channels_std.rs"
[[test]]
name = "channels_tokio"
path = "tests/channels_tokio.rs"
[[test]]
name = "debug"
path = "tests/debug.rs"
[[test]]
name = "functions"
path = "tests/functions.rs"
[[test]]
name = "futures"
path = "tests/futures.rs"
[[test]]
name = "streams"
path = "tests/streams.rs"
[[test]]
name = "threads"
path = "tests/threads.rs"
[[test]]
name = "tokio_runtime"
path = "tests/tokio_runtime.rs"
[dependencies.arc-swap]
version = "1.7"
optional = true
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.cfg-if]
version = "1.0"
optional = true
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[dependencies.colored]
version = "3"
optional = true
[dependencies.crossbeam-channel]
version = "0.5"
optional = true
[dependencies.crossterm]
version = "0.29"
optional = true
[dependencies.eyre]
version = "0.6"
optional = true
[dependencies.futures-channel]
version = "0.3"
features = ["sink"]
optional = true
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
optional = true
[dependencies.hdrhistogram]
version = "7.5"
optional = true
default-features = false
[dependencies.hotpath-macros]
version = "0.11.0"
[dependencies.hotpath-meta]
version = "0.11.0"
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.pin-project-lite]
version = "0.2"
optional = true
[dependencies.prettytable-rs]
version = "0.10"
optional = true
default-features = false
[dependencies.quanta]
version = "0.12"
optional = true
[dependencies.ratatui]
version = "0.29"
optional = true
[dependencies.regex]
version = "1"
optional = true
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"rustls",
]
optional = true
default-features = false
[dependencies.rmcp]
version = "0.13"
features = [
"server",
"transport-streamable-http-server",
"transport-streamable-http-server-session",
]
optional = true
[dependencies.schemars]
version = "1"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.time]
version = "0.3"
features = [
"formatting",
"local-offset",
]
optional = true
[dependencies.tiny_http]
version = "0.12"
optional = true
[dependencies.tokio]
version = "1"
features = ["rt"]
optional = true
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
"time",
]
optional = true
[dependencies.ureq]
version = "3.1"
features = ["json"]
optional = true
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.ureq]
version = "3.1"
features = ["json"]
[target.'cfg(target_os = "macos")'.dependencies.mach2]
version = "0.6"
optional = true
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tokio_unstable)"]