[go: up one dir, main page]

inferno 0.11.13

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

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"]

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

[dependencies]
ahash = "0.8"
atty = "0.2"
crossbeam-utils = { version = "0.8", optional = true }
crossbeam-channel = { version = "0.5", optional = true }
dashmap = { version = "5", optional = true }
env_logger = { version = "0.9", default-features = false, optional = true }
indexmap = { version = "1.0", optional = true }
itoa = "1"
log = "0.4"
num_cpus = { version = "1.10", optional = true }
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 = "3.2.1", optional = true, features = ["derive"] }
once_cell = "1.12.0"

[dev-dependencies]
assert_cmd = "2"
criterion = "0.4"
libflate = "1"
maplit = "1.0.1"
pretty_assertions = "1"
rand = { version = "0.8", features = ["small_rng"] }
# 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, features = ["std"] }
# Force criterion to pull in serde 1.0.145 instead of 1.0.0 during minimal version CI;
# otherwise compilation fails with many errors (since serde 1.0.0 is such an old
# crate). There is likely a lower version of serde than 1.0.145 that would also
# successfully compile in minimal version CI, but since serde 1.0.145 is supported
# by our minimum supported rust version of 1.59.0, being on >= 1.0.145 is fine
serde = { version = "1.0.145" }
testing_logger = "0.1.1"

[profile.release]
debug = 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-guess"
path = "src/bin/collapse-guess.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"]