Commit ac189cc
authored
refactor(orch): remove unused PID-based host stats, rely on cgroup stats (#2251)
* refactor(orch): remove PID-based firecracker stats from host metrics
Cgroups now provide all CPU and memory accounting for sandboxes,
making the gopsutil/process-based stats from /proc/<pid> obsolete.
Remove the Firecracker PID fields from the collector, data model,
and ClickHouse INSERT query. The ClickHouse column drop migration
will follow separately.
* refactor(orch): widen host stats collection to cover full sandbox lifecycle
Start collecting cgroup stats immediately after sandbox/cgroup creation
(before FC boot/resume) and stop right before cgroup removal (after
process exit). This captures resource usage during VM boot, envd init,
and the full shutdown sequence — previously missed billing data.
* refactor(orch): move host stats and cgroup cleanup to creation methods
Move cgroup removal and host stats collector stop out of doStop() and
createCgroup() into the Create/Resume sandbox methods as explicit
cleanup.Add registrations. This makes each creation path own its full
lifecycle and follows the project's cleanup pattern consistently.
* refactor(orch): add NoopManager to ensure cgroupManager is never nil
Introduce cgroup.NoopManager for environments that don't need cgroup
accounting (CLI tools, tests). This eliminates nil checks on both
cgroupManager and cgroupHandle throughout the sandbox lifecycle.
Noop handles use an explicit noop field so GetStats returns (nil, nil)
for intentional no-ops, while nil handles from real manager failures
still return an error.
* refactor(orch): add NoopDelivery to ensure hostStatsDelivery is never nil
Introduce hoststats.NoopDelivery for environments that don't need host
stats collection (CLI tools, tests). This eliminates the nil check on
hostStatsDelivery in initializeHostStatsCollector, matching the pattern
used for cgroupManager.
* fix(orch): use NoopDelivery in production when ClickHouse is unconfigured
The production path in run.go left hostStatsDelivery nil when
ClickhouseConnectionString is empty. With the nil guard removed,
this would panic. Initialize it with NoopDelivery instead.
Also add compile-time interface compliance checks for noopManager
and noopDelivery.1 parent 911760b commit ac189cc
File tree
12 files changed
+136
-142
lines changed- packages
- clickhouse/pkg/hoststats
- orchestrator
- cmd
- create-build
- resume-build
- smoketest
- pkg
- factories
- sandbox
- cgroup
12 files changed
+136
-142
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | 26 | | |
31 | 27 | | |
32 | 28 | | |
33 | 29 | | |
34 | 30 | | |
35 | 31 | | |
36 | 32 | | |
37 | | - | |
| 33 | + | |
38 | 34 | | |
39 | 35 | | |
40 | 36 | | |
| |||
115 | 111 | | |
116 | 112 | | |
117 | 113 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | 114 | | |
123 | 115 | | |
124 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | 23 | | |
29 | 24 | | |
30 | 25 | | |
| |||
41 | 36 | | |
42 | 37 | | |
43 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
183 | 185 | | |
184 | 186 | | |
185 | 187 | | |
186 | | - | |
| 188 | + | |
187 | 189 | | |
188 | 190 | | |
189 | 191 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
297 | 299 | | |
298 | 300 | | |
299 | 301 | | |
300 | | - | |
| 302 | + | |
301 | 303 | | |
302 | 304 | | |
303 | 305 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| 30 | + | |
29 | 31 | | |
30 | 32 | | |
31 | 33 | | |
| |||
1050 | 1052 | | |
1051 | 1053 | | |
1052 | 1054 | | |
1053 | | - | |
| 1055 | + | |
1054 | 1056 | | |
1055 | 1057 | | |
1056 | 1058 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
226 | 228 | | |
227 | 229 | | |
228 | 230 | | |
229 | | - | |
| 231 | + | |
230 | 232 | | |
231 | 233 | | |
232 | 234 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
413 | | - | |
| 413 | + | |
414 | 414 | | |
415 | 415 | | |
416 | 416 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
87 | | - | |
88 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
89 | 91 | | |
90 | 92 | | |
91 | 93 | | |
92 | 94 | | |
93 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
94 | 100 | | |
95 | 101 | | |
96 | 102 | | |
| |||
99 | 105 | | |
100 | 106 | | |
101 | 107 | | |
102 | | - | |
| 108 | + | |
103 | 109 | | |
104 | 110 | | |
105 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
| |||
17 | 16 | | |
18 | 17 | | |
19 | 18 | | |
20 | | - | |
21 | 19 | | |
22 | 20 | | |
23 | 21 | | |
24 | 22 | | |
25 | 23 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | 24 | | |
40 | 25 | | |
41 | | - | |
| 26 | + | |
| 27 | + | |
42 | 28 | | |
43 | 29 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 30 | + | |
50 | 31 | | |
51 | 32 | | |
52 | 33 | | |
| |||
57 | 38 | | |
58 | 39 | | |
59 | 40 | | |
60 | | - | |
61 | 41 | | |
62 | 42 | | |
63 | | - | |
| 43 | + | |
64 | 44 | | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | 45 | | |
73 | 46 | | |
74 | 47 | | |
| |||
0 commit comments