-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathCargo.toml
More file actions
102 lines (92 loc) · 2.77 KB
/
Cargo.toml
File metadata and controls
102 lines (92 loc) · 2.77 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
93
94
95
96
97
98
99
100
101
102
[package]
name = "lightswitch"
version = "0.4.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.10"
anyhow = "1.0.102"
object = "0.38.1"
libbpf-rs = { version = "0.26.1" }
tracing = "0.1.44"
thiserror = "2.0.18"
perf-event-open-sys = "6.0.0"
procfs = "0.18.0"
nix = { version = "0.31.2" }
# workspace dev dependencies below
# workspace build dependencies below
libbpf-cargo = { version = "0.26.1" }
glob = "0.3.3"
ring = "0.17.14"
libbpf-sys = "1.6.3"
lru = "0.16.3"
[features]
default = ["libbpf-rs-static"]
libbpf-rs-static = ["libbpf-rs/static"]
[dependencies]
gimli = "0.33.0"
lazy_static = "1.5.0"
plain = "0.2.3"
clap = { version = "4.5.60", features = ["derive", "string"] }
blazesym = { version = "0.2.3", features = ["zlib"] }
tracing-subscriber = "0.3.22"
inferno = "0.12.6"
primal = "0.3.3"
prost = "0.14" # Needed to encode protocol buffers to bytes.
reqwest = { version = "0.13", features = ["blocking", "rustls", "json"], default-features = false }
ctrlc = "3.5.2"
serde = { version = "1.0.228", features = ["derive"] }
base64 = "0.22.1"
flate2 = "1.1.4"
uuid = { version = "1.18.1", features = ["v4"], default-features = false }
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.3.0" }
lightswitch-capabilities = { path = "lightswitch-capabilities", version = "0.3.0" }
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 }
lru = { workspace = true }
[dev-dependencies]
assert_cmd = { version = "2.2.0" }
insta = { version = "1.46.3", features = ["yaml"] }
rstest = "0.26.1"
criterion = "0.8.2"
tempfile = "3.27.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"