[package]
edition = "2024"
rust-version = "1.96.0"
name = "perf-sentinel"
version = "0.8.13"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI for perf-sentinel: polyglot performance anti-pattern detector"
homepage = "https://github.com/robintra/perf-sentinel"
readme = "README.md"
keywords = [
"performance",
"n-plus-one",
"greenops",
"observability",
"opentelemetry",
]
categories = [
"development-tools::profiling",
"command-line-utilities",
]
license = "AGPL-3.0-only"
repository = "https://github.com/robintra/perf-sentinel"
[features]
daemon = [
"perf-sentinel-core/daemon",
"dep:hyper",
"dep:bytes",
"dep:humantime",
"dep:rpassword",
]
default = [
"tui",
"daemon",
"tempo",
"jaeger-query",
]
jaeger-query = ["perf-sentinel-core/jaeger-query"]
tempo = ["perf-sentinel-core/tempo"]
tui = [
"ratatui",
"crossterm",
]
[[bin]]
name = "perf-sentinel"
path = "src/main.rs"
[[test]]
name = "cli_ack"
path = "tests/cli_ack.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[[test]]
name = "hash_bake_e2e"
path = "tests/hash_bake_e2e.rs"
[[test]]
name = "verify_hash_e2e"
path = "tests/verify_hash_e2e.rs"
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["clock"]
default-features = false
[dependencies.clap]
version = "4.6.1"
features = [
"derive",
"env",
]
[dependencies.clap_complete]
version = "4.6.5"
[dependencies.clap_mangen]
version = "0.3.0"
[dependencies.crossterm]
version = "0.29.0"
optional = true
[dependencies.humantime]
version = "2.3.0"
optional = true
[dependencies.hyper]
version = "1.9.0"
optional = true
[dependencies.perf-sentinel-core]
version = "0.8.13"
[dependencies.ratatui]
version = "0.30.1"
optional = true
[dependencies.rpassword]
version = "7.5.4"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.150"
features = ["float_roundtrip"]
[dependencies.tokio]
version = "1.52.3"
features = ["full"]
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[dependencies.ureq]
version = "3.3.0"
features = [
"rustls",
"json",
]
default-features = false
[dependencies.uuid]
version = "1.23.1"
features = ["v4"]
[dev-dependencies.serde_json]
version = "1.0.149"
features = ["float_roundtrip"]
[dev-dependencies.tempfile]
version = "3.27.0"
[target.'cfg(target_env = "musl")'.dependencies.mimalloc]
version = "0.1.49"
[target."cfg(unix)".dependencies.libc]
version = "0.2.183"
[lints.clippy]
cognitive_complexity = "deny"