probex 0.1.19

The missing Linux profiler — low-friction, easy to use, works out of the box
[package]
name = "probex"
version = "0.1.19"
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme = "../README.md"
documentation = "https://docs.rs/probex"
description = "The missing Linux profiler — low-friction, easy to use, works out of the box"
include = [
    "Cargo.toml",
    "build.rs",
    "src/**",
    "assets/viewer/**",
    "assets/ebpf/**",
    "tests/**",
]

[dependencies]
probex-common = { path = "../probex-common", version = "0.1.19", features = ["user"] }

anyhow = { workspace = true, default-features = true }
aya = { workspace = true }
aya-log = { workspace = true }
clap = { workspace = true, features = ["derive", "help"] }
env_logger = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
nix = { workspace = true, features = ["signal", "process"] }
arrow = { workspace = true }
parquet = { workspace = true }
tokio = { workspace = true, features = [
    "macros",
    "rt-multi-thread",
    "net",
    "signal",
] }
datafusion = { workspace = true }
inferno = "0.12"
wholesym = "0.8.1"
axum = "0.8"
serde_json = "1"
serde = { workspace = true, features = ["derive"] }
rust-embed = { version = "8.11.0", features = ["mime-guess"] }
chrono = "0.4.43"

[dev-dependencies]
parquet = { workspace = true }

[build-dependencies]
anyhow = { workspace = true }
cargo_metadata = { workspace = true }
# TODO(https://github.com/rust-lang/cargo/issues/12375): this should be an artifact dependency, but
# it's not possible to tell cargo to use `-Z build-std` to build it. We cargo-in-cargo in the build
# script to build this, but we want to teach cargo about the dependency so that cache invalidation
# works properly.
#
# Note also that https://github.com/rust-lang/cargo/issues/10593 occurs when `target = ...` is added
# to an artifact dependency; it seems possible to work around that by setting `resolver = "1"` in
# Cargo.toml in the workspace root.
#
# Finally note that *any* usage of `artifact = ...` in *any* Cargo.toml in the workspace breaks
# workflows with stable cargo; stable cargo outright refuses to load manifests that use unstable
# features.
probex-ebpf = { path = "../probex-ebpf", version = "0.1.19" }

[[bin]]
name = "probex"
path = "src/main.rs"