Address reported socket issue (#16083)
thiagoftsm committed
Oct 2, 2023 at 13:17 UTC
8a5e854cf37025597eeebe17f3f15f747944c2f3
1 file changed
+22
-22
collectors/ebpf.plugin/ebpf.c
+22
-22
@@ -55,7 +55,7 @@ ebpf_module_t ebpf_modules[] = {
55
.functions = {.start_routine = ebpf_process_thread,
56
.apps_routine = ebpf_process_create_apps_charts,
57
.fnct_routine = NULL},
58
- .enabled = 0,
58
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
59
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
60
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
61
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &process_config,
@@ -74,7 +74,7 @@ ebpf_module_t ebpf_modules[] = {
74
.fcnt_desc = EBPF_PLUGIN_SOCKET_FUNCTION_DESCRIPTION,
75
.fcnt_thread_chart_name = NULL,
76
.fcnt_thread_lifetime_name = NULL},
77
- .enabled = 0,
77
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
78
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
79
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
80
.maps = NULL,
@@ -87,7 +87,7 @@ ebpf_module_t ebpf_modules[] = {
87
.functions = {.start_routine = ebpf_cachestat_thread,
88
.apps_routine = ebpf_cachestat_create_apps_charts,
89
.fnct_routine = NULL},
90
- .enabled = 0,
90
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
91
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
92
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
93
.maps = cachestat_maps, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &cachestat_config,
@@ -102,7 +102,7 @@ ebpf_module_t ebpf_modules[] = {
102
.functions = {.start_routine = ebpf_sync_thread,
103
.apps_routine = NULL,
104
.fnct_routine = NULL},
105
- .enabled = 0, .maps = NULL,
105
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING, .maps = NULL,
106
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
107
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
108
.pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &sync_config,
@@ -117,7 +117,7 @@ ebpf_module_t ebpf_modules[] = {
117
.functions = {.start_routine = ebpf_dcstat_thread,
118
.apps_routine = ebpf_dcstat_create_apps_charts,
119
.fnct_routine = NULL},
120
- .enabled = 0,
120
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
121
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
122
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
123
.maps = dcstat_maps,
@@ -130,7 +130,7 @@ ebpf_module_t ebpf_modules[] = {
130
.functions = {.start_routine = ebpf_swap_thread,
131
.apps_routine = ebpf_swap_create_apps_charts,
132
.fnct_routine = NULL},
133
- .enabled = 0,
133
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
134
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
135
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
136
.maps = NULL,
@@ -145,7 +145,7 @@ ebpf_module_t ebpf_modules[] = {
145
.functions = {.start_routine = ebpf_vfs_thread,
146
.apps_routine = ebpf_vfs_create_apps_charts,
147
.fnct_routine = NULL},
148
- .enabled = 0,
148
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
149
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
150
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
151
.maps = NULL,
@@ -158,7 +158,7 @@ ebpf_module_t ebpf_modules[] = {
158
.functions = {.start_routine = ebpf_filesystem_thread,
159
.apps_routine = NULL,
160
.fnct_routine = NULL},
161
- .enabled = 0,
161
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
162
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
163
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
164
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &fs_config,
@@ -172,7 +172,7 @@ ebpf_module_t ebpf_modules[] = {
172
.functions = {.start_routine = ebpf_disk_thread,
173
.apps_routine = NULL,
174
.fnct_routine = NULL},
175
- .enabled = 0,
175
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
176
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
177
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
178
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &disk_config,
@@ -186,7 +186,7 @@ ebpf_module_t ebpf_modules[] = {
186
.functions = {.start_routine = ebpf_mount_thread,
187
.apps_routine = NULL,
188
.fnct_routine = NULL},
189
- .enabled = 0,
189
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
190
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
191
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
192
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &mount_config,
@@ -200,7 +200,7 @@ ebpf_module_t ebpf_modules[] = {
200
.functions = {.start_routine = ebpf_fd_thread,
201
.apps_routine = ebpf_fd_create_apps_charts,
202
.fnct_routine = NULL},
203
- .enabled = 0,
203
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
204
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
205
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
206
.maps = NULL,
@@ -216,7 +216,7 @@ ebpf_module_t ebpf_modules[] = {
216
.functions = {.start_routine = ebpf_hardirq_thread,
217
.apps_routine = NULL,
218
.fnct_routine = NULL},
219
- .enabled = 0,
219
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
220
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
221
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
222
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &hardirq_config,
@@ -230,7 +230,7 @@ ebpf_module_t ebpf_modules[] = {
230
.functions = {.start_routine = ebpf_softirq_thread,
231
.apps_routine = NULL,
232
.fnct_routine = NULL },
233
- .enabled = 0,
233
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
234
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
235
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
236
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &softirq_config,
@@ -243,7 +243,7 @@ ebpf_module_t ebpf_modules[] = {
243
.thread_description = NETDATA_EBPF_OOMKILL_MODULE_DESC},
244
.functions = {.start_routine = ebpf_oomkill_thread,
245
.apps_routine = ebpf_oomkill_create_apps_charts,
246
- .fnct_routine = NULL},.enabled = 0,
246
+ .fnct_routine = NULL},.enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
247
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
248
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
249
.maps = NULL,
@@ -258,7 +258,7 @@ ebpf_module_t ebpf_modules[] = {
258
.functions = {.start_routine = ebpf_shm_thread,
259
.apps_routine = ebpf_shm_create_apps_charts,
260
.fnct_routine = NULL},
261
- .enabled = 0,
261
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
262
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
263
.apps_level = NETDATA_APPS_LEVEL_REAL_PARENT, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
264
.maps = NULL,
@@ -273,7 +273,7 @@ ebpf_module_t ebpf_modules[] = {
273
.functions = {.start_routine = ebpf_mdflush_thread,
274
.apps_routine = NULL,
275
.fnct_routine = NULL},
276
- .enabled = 0,
276
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING,
277
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
278
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
279
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = &mdflush_config,
@@ -287,7 +287,7 @@ ebpf_module_t ebpf_modules[] = {
287
.functions = {.start_routine = ebpf_function_thread,
288
.apps_routine = NULL,
289
.fnct_routine = NULL},
290
- .enabled = 1,
290
+ .enabled = NETDATA_THREAD_EBPF_RUNNING,
291
.update_every = EBPF_DEFAULT_UPDATE_EVERY, .global_charts = 1, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO,
292
.apps_level = NETDATA_APPS_NOT_SET, .cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0,
293
.maps = NULL, .pid_map_size = ND_EBPF_DEFAULT_PID_SIZE, .names = NULL, .cfg = NULL,
@@ -297,7 +297,7 @@ ebpf_module_t ebpf_modules[] = {
297
.thread = NULL, .maps_per_core = CONFIG_BOOLEAN_YES, .lifetime = EBPF_DEFAULT_LIFETIME, .running_time = 0},
298
{ .info = {.thread_name = NULL, .config_name = NULL},
299
.functions = {.start_routine = NULL, .apps_routine = NULL, .fnct_routine = NULL},
300
- .enabled = 0, .update_every = EBPF_DEFAULT_UPDATE_EVERY,
300
+ .enabled = NETDATA_THREAD_EBPF_NOT_RUNNING, .update_every = EBPF_DEFAULT_UPDATE_EVERY,
301
.global_charts = 0, .apps_charts = NETDATA_EBPF_APPS_FLAG_NO, .apps_level = NETDATA_APPS_NOT_SET,
302
.cgroup_charts = CONFIG_BOOLEAN_NO, .mode = MODE_ENTRY, .optional = 0, .maps = NULL,
303
.pid_map_size = 0, .names = NULL, .cfg = NULL, .kernels = 0, .load = EBPF_LOAD_LEGACY,
@@ -2168,7 +2168,7 @@ static inline void ebpf_set_thread_mode(netdata_run_mode_t lmode)
2168
*/
2169
static inline void ebpf_enable_specific_chart(struct ebpf_module *em, int disable_cgroup)
2170
{
2171
- em->enabled = CONFIG_BOOLEAN_YES;
2171
+ em->enabled = NETDATA_THREAD_EBPF_RUNNING;
2172
2173
// oomkill stores data inside apps submenu, so it always need to have apps_enabled for plugin to create
2174
// its chart, without this comparison eBPF.plugin will try to store invalid data when apps is disabled.
@@ -2192,7 +2192,7 @@ static inline void disable_all_global_charts()
2192
{
2193
int i;
2194
for (i = 0; ebpf_modules[i].info.thread_name; i++) {
2195
- ebpf_modules[i].enabled = 0;
2195
+ ebpf_modules[i].enabled = NETDATA_THREAD_EBPF_NOT_RUNNING;
2196
ebpf_modules[i].global_charts = 0;
2197
}
2198
}
@@ -4123,13 +4123,13 @@ int main(int argc, char **argv)
4123
ebpf_module_t *em = &ebpf_modules[i];
4124
em->thread = st;
4125
em->thread_id = i;
4126
- if (em->enabled) {
4126
+ if (em->enabled != NETDATA_THREAD_EBPF_NOT_RUNNING) {
4127
st->thread = mallocz(sizeof(netdata_thread_t));
4128
em->enabled = NETDATA_THREAD_EBPF_RUNNING;
4129
em->lifetime = EBPF_NON_FUNCTION_LIFE_TIME;
4130
netdata_thread_create(st->thread, st->name, NETDATA_THREAD_OPTION_DEFAULT, st->start_routine, em);
4131
} else {
4132
- em->enabled = NETDATA_THREAD_EBPF_NOT_RUNNING;
4132
+ em->lifetime = EBPF_DEFAULT_LIFETIME;
4133
}
4134
}
4135