forked from jonhoo/inferno
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
123 lines (104 loc) · 3.53 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
[package]
name = "inferno"
version = "0.11.15"
edition = "2021"
authors = ["Jon Gjengset <[email protected]>"]
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"]
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 = "5", optional = true }
env_logger = { version = "0.10", default-features = false, optional = true }
indexmap = { version = "1.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.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"]