-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCargo.toml
More file actions
92 lines (83 loc) · 2.5 KB
/
Cargo.toml
File metadata and controls
92 lines (83 loc) · 2.5 KB
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
[package]
name = "lightswitch"
version = "0.3.1"
edition = "2021"
description = "CPU profiler as a library for Linux suitable for on-demand and continuous profiling"
license = "MIT"
repository = "https://github.com/javierhonduco/lightswitch"
[workspace]
members = [
"lightswitch-proto",
"lightswitch-capabilities",
"lightswitch-metadata",
"lightswitch-object"
]
[workspace.dependencies]
memmap2 = "0.9.9"
anyhow = "1.0.100"
object = "0.38.0"
libbpf-rs = { version = "0.26.0", features = ["static"] }
tracing = "0.1.43"
thiserror = "2.0.17"
perf-event-open-sys = "5.0.0"
procfs = "0.18.0"
nix = { version = "0.30.1" }
# workspace dev dependencies below
# workspace build dependencies below
libbpf-cargo = { version = "0.26.0" }
glob = "0.3.3"
ring = "0.17.14"
libbpf-sys = "1.6.1"
[dependencies]
gimli = "0.32.3"
lazy_static = "1.5.0"
plain = "0.2.3"
clap = { version = "4.5.53", features = ["derive", "string"] }
blazesym = { version = "0.2.2", features = ["zlib"] }
tracing-subscriber = "0.3.22"
inferno = "0.12.4"
primal = "0.3.3"
prost = "0.14" # Needed to encode protocol buffers to bytes.
reqwest = { version = "0.12", features = ["blocking", "rustls-tls"], default-features = false }
ctrlc = "3.5.1"
crossbeam-channel = "0.5.15"
itertools = "0.14.0"
lightswitch-metadata = { path = "lightswitch-metadata", version = "0.2.2" }
lightswitch-proto = { path = "lightswitch-proto", version = "0.2.2" }
lightswitch-capabilities = { path = "lightswitch-capabilities", version = "0.2.2" }
lightswitch-object = { path = "lightswitch-object", version = "0.3.2" }
memmap2 = { workspace = true }
anyhow = { workspace = true }
libbpf-sys = { workspace = true }
object = { workspace = true }
libbpf-rs = { workspace = true }
tracing = { workspace = true }
perf-event-open-sys = { workspace = true }
thiserror = { workspace = true }
procfs = { workspace = true }
nix = { workspace = true, features = ["user"] }
parking_lot = { version = "0.12.5", features = ["deadlock_detection"] }
ring = { workspace = true }
flamelens = { version = "0.4.0", default-features = false }
[dev-dependencies]
assert_cmd = { version = "2.1.1" }
insta = { version = "1.44.3", features = ["yaml"] }
rstest = "0.26.1"
criterion = "0.8.1"
tempfile = "3.23.0"
[build-dependencies]
libbpf-cargo = { workspace = true }
glob = { workspace = true }
bindgen = "0.72.1"
[profile.dev.package."*"]
opt-level = 3
[profile.release-lto]
inherits = "release"
lto = true
codegen-units = 1
[[bench]]
name = "benchmark"
harness = false
[[bin]]
name = "lightswitch"
path = "src/cli/main.rs"