inferno 0.11.21

Rust port of the FlameGraph performance profiling tool suite
Documentation
[package]
name = "inferno"
version = "0.11.21"
edition = "2021"
authors = ["Jon Gjengset <jon@thesquareplanet.com>"]
rust-version = "1.71.0"

readme = "README.md"
description = "Rust port of the FlameGraph performance profiling tool suite"
repository = "https://github.com/jonhoo/inferno.git"

keywords = ["perf", "flamegraph", "profiling"]
categories = ["command-line-utilities", "development-tools::profiling", "visualization"]

license = "CDDL-1.0"

exclude = ["/tests/**", "/flamegraph/**", "/*.perf"]

[profile.release]
strip = true   # To use flamegraph on inferno binaries, comment this line
# debug = true # and uncomment this line.

[features]
default = ["cli", "multithreaded", "nameattr"]
cli = ["clap", "env_logger"]
multithreaded = ["dashmap", "crossbeam-utils", "crossbeam-channel"]
nameattr = ["indexmap"]

[dependencies]
ahash = "0.8"
is-terminal = "0.4.3"
crossbeam-utils = { version = "0.8", optional = true }
crossbeam-channel = { version = "0.5", optional = true }
dashmap = { version = "6.0.1", optional = true }
env_logger = { version = "0.11", default-features = false, optional = true }
indexmap = { version = "2.0", optional = true }
itoa = "1"
log = "0.4"
num-format = { version = "0.4.3", default-features = false }
quick-xml = { version = "0.26", default-features = false }
rgb = "0.8.13"
str_stack = "0.1"
clap = { version = "4.0.1", optional = true, features = ["derive"] }
once_cell = "1.12.0"

[dev-dependencies]
assert_cmd = "2"
criterion = "0.5"
libflate = "2"
maplit = "1.0.1"
pretty_assertions = "1"
rand = { version = "0.8", features = ["small_rng"] }
serde = { version = "1.0.145" }
testing_logger = "0.1.1"

# for -Zminimal-versions
[target.'cfg(any())'.dependencies]
# Force criterion to pull in regex 1.6 instead of 1.5 during minimal version CI;
# otherwise compilation fails with...
# ```
# error[E0433]: failed to resolve: use of undeclared crate or module `syntax`
#  --> <$HOME>/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.5.0/src/literal/mod.rs:9:9
#   |
# 9 |     use syntax::hir::literal::Literals;
#   |         ^^^^^^ use of undeclared crate or module `syntax`
# ```
# Forcing >= 1.5.1 would be enough to solve this issue, but since regex 1.6.0
# supports our minimum supported rust version of 1.59.0, regex 1.6.x is fine
regex = { version = "1.6", default-features = false, optional = true }
# rle-decode-fast 1.0.0 no longer builds with newer Rust
rle-decode-fast = { version = "1.0.3", default-features = false, optional = true }

[lib]
name = "inferno"
path = "src/lib.rs"

[[bin]]
name = "inferno-collapse-perf"
path = "src/bin/collapse-perf.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-dtrace"
path = "src/bin/collapse-dtrace.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-sample"
path = "src/bin/collapse-sample.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-vtune"
path = "src/bin/collapse-vtune.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-vsprof"
path = "src/bin/collapse-vsprof.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-ghcprof"
path = "src/bin/collapse-ghcprof.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-guess"
path = "src/bin/collapse-guess.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-collapse-recursive"
path = "src/bin/collapse-recursive.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-flamegraph"
path = "src/bin/flamegraph.rs"
required-features = ["cli"]

[[bin]]
name = "inferno-diff-folded"
path = "src/bin/diff-folded.rs"
required-features = ["cli"]

[[bench]]
name = "collapse"
harness = false
required-features = ["multithreaded"]

[[bench]]
name = "flamegraph"
harness = false
required-features = ["multithreaded"]