-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCargo.toml
90 lines (82 loc) · 2.43 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
[package]
name = "lightswitch"
version = "0.1.0"
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.5"
anyhow = "1.0.95"
object = "0.36.7"
libbpf-rs = { version = "0.25.0-beta.1", features = ["static"] }
tracing = "0.1.41"
thiserror = "2.0.11"
errno = "0.3.10"
perf-event-open-sys = "4.0.0"
procfs = "0.17.0"
nix = { version = "0.29.0" }
# workspace dev dependencies have to be defined here
rand = "0.8.5"
# workspace build dependencies have to be defined here
libbpf-cargo = { version = "0.25.0-beta.1" }
glob = "0.3.2"
ring = "0.17.8"
[dependencies]
gimli = "0.31.1"
lazy_static = "1.5.0"
plain = "0.2.3"
page_size = "0.6.0"
clap = { version = "4.5.26", features = ["derive", "string"] }
blazesym = "0.2.0-rc.2"
tracing-subscriber = "0.3.19"
inferno = "0.12.1"
primal = "0.3.3"
prost = "0.13" # Needed to encode protocol buffers to bytes.
reqwest = { version = "0.12", features = ["blocking"] }
ctrlc = "3.4.5"
crossbeam-channel = "0.5.14"
libbpf-sys = "1.5.0"
itertools = "0.14.0"
lightswitch-metadata = { path = "lightswitch-metadata", version = "0.1.1" }
lightswitch-proto = { path = "lightswitch-proto", version = "0.1.0" }
lightswitch-capabilities = { path = "lightswitch-capabilities", version = "0.1.0" }
lightswitch-object = { path = "lightswitch-object", version = "0.2.0" }
memmap2 = { workspace = true }
anyhow = { workspace = true }
object = { workspace = true }
libbpf-rs = { workspace = true }
tracing = { workspace = true }
perf-event-open-sys = { workspace = true }
thiserror = { workspace = true }
errno = { workspace = true }
procfs = { workspace = true }
nix = { workspace = true, features = ["user"] }
parking_lot = { version = "0.12.3", features = ["deadlock_detection"] }
ring = { workspace = true }
[dev-dependencies]
assert_cmd = { version = "2.0.16" }
insta = { version = "1.42.0", features = ["yaml"] }
rstest = "0.24.0"
rand = { workspace = true }
criterion = "0.5.1"
tempfile = "3.15.0"
[build-dependencies]
libbpf-cargo = { workspace = true }
glob = { workspace = true }
bindgen = "0.71.1"
[profile.dev.package."*"]
opt-level = 3
[[bench]]
name = "benchmark"
harness = false
[[bin]]
name = "lightswitch"
path = "src/cli/main.rs"