Update binaries (eBPF) (#16671)
thiagoftsm committed
Jan 17, 2024 at 14:00 UTC
0e0a6e8bc525b73b71750e89d671288b819a2cf9
19 files changed
+53
-170
collectors/ebpf.plugin/ebpf.c
+3
-3
@@ -1797,9 +1797,9 @@ static void ebpf_parse_ip_list_unsafe(void **out, char *ip)
1797
}
1798
}
1799
1800
- if ((be64toh(*(uint64_t *)&first.addr32[2]) > be64toh(*(uint64_t *)&last.addr32[2]) &&
1801
- !memcmp(first.addr32, last.addr32, 2*sizeof(uint32_t))) ||
1802
- (be64toh(*(uint64_t *)&first.addr32) > be64toh(*(uint64_t *)&last.addr32)) ) {
1800
+ if ((be64toh(*(uint64_t *)&first.addr64[1]) > be64toh(*(uint64_t *)&last.addr64[1]) &&
1801
+ !memcmp(first.addr64, last.addr64, sizeof(uint64_t))) ||
1802
+ (be64toh(*(uint64_t *)&first.addr64) > be64toh(*(uint64_t *)&last.addr64)) ) {
1803
netdata_log_info("The specified range %s is invalid, the second address is smallest than the first, it will be ignored.",
1804
ipdup);
1805
goto cleanipdup;
collectors/ebpf.plugin/ebpf_apps.h
+10
-1
@@ -18,6 +18,10 @@
18
#define NETDATA_APPS_NET_GROUP "net"
19
#define NETDATA_APPS_IPC_SHM_GROUP "ipc shm"
20
21
+#ifndef TASK_COMM_LEN
22
+#define TASK_COMM_LEN 16
23
+#endif
24
+
25
#include "ebpf_process.h"
26
#include "ebpf_dcstat.h"
27
#include "ebpf_disk.h"
@@ -139,7 +143,12 @@ struct ebpf_pid_on_target {
143
// ----------------------------------------------------------------------------
144
// Structures used to read information from kernel ring
145
typedef struct ebpf_process_stat {
142
- uint64_t pid_tgid; // This cannot be removed, because it is used inside kernel ring.
146
+ uint64_t ct;
147
+ uint32_t uid;
148
+ uint32_t gid;
149
+ char name[TASK_COMM_LEN];
150
+
151
+ uint32_t tgid;
152
uint32_t pid;
153
154
//Counter
collectors/ebpf.plugin/ebpf_cachestat.c
-28
@@ -78,7 +78,6 @@ static void ebpf_cachestat_disable_probe(struct cachestat_bpf *obj)
78
bpf_program__set_autoload(obj->progs.netdata_set_page_dirty_kprobe, false);
79
bpf_program__set_autoload(obj->progs.netdata_account_page_dirtied_kprobe, false);
80
bpf_program__set_autoload(obj->progs.netdata_mark_buffer_dirty_kprobe, false);
81
- bpf_program__set_autoload(obj->progs.netdata_release_task_kprobe, false);
81
}
82
83
/*
@@ -119,7 +118,6 @@ static void ebpf_cachestat_disable_trampoline(struct cachestat_bpf *obj)
118
bpf_program__set_autoload(obj->progs.netdata_set_page_dirty_fentry, false);
119
bpf_program__set_autoload(obj->progs.netdata_account_page_dirtied_fentry, false);
120
bpf_program__set_autoload(obj->progs.netdata_mark_buffer_dirty_fentry, false);
122
- bpf_program__set_autoload(obj->progs.netdata_release_task_fentry, false);
121
}
122
123
/*
@@ -175,9 +173,6 @@ static inline void netdata_set_trampoline_target(struct cachestat_bpf *obj)
173
174
bpf_program__set_attach_target(obj->progs.netdata_mark_buffer_dirty_fentry, 0,
175
cachestat_targets[NETDATA_KEY_CALLS_MARK_BUFFER_DIRTY].name);
178
-
179
- bpf_program__set_attach_target(obj->progs.netdata_release_task_fentry, 0,
180
- EBPF_COMMON_FNCT_CLEAN_UP);
176
}
177
178
/**
@@ -234,13 +229,6 @@ static int ebpf_cachestat_attach_probe(struct cachestat_bpf *obj)
229
if (ret)
230
return -1;
231
237
- obj->links.netdata_release_task_kprobe = bpf_program__attach_kprobe(obj->progs.netdata_release_task_kprobe,
238
- false,
239
- EBPF_COMMON_FNCT_CLEAN_UP);
240
- ret = libbpf_get_error(obj->links.netdata_release_task_kprobe);
241
- if (ret)
242
- return -1;
243
-
232
return 0;
233
}
234
@@ -276,19 +264,6 @@ static void ebpf_cachestat_set_hash_tables(struct cachestat_bpf *obj)
264
cachestat_maps[NETDATA_CACHESTAT_CTRL].map_fd = bpf_map__fd(obj->maps.cstat_ctrl);
265
}
266
279
-/**
280
- * Disable Release Task
281
- *
282
- * Disable release task when apps is not enabled.
283
- *
284
- * @param obj is the main structure for bpf objects.
285
- */
286
-static void ebpf_cachestat_disable_release_task(struct cachestat_bpf *obj)
287
-{
288
- bpf_program__set_autoload(obj->progs.netdata_release_task_kprobe, false);
289
- bpf_program__set_autoload(obj->progs.netdata_release_task_fentry, false);
290
-}
291
-
267
/**
268
* Load and attach
269
*
@@ -316,9 +291,6 @@ static inline int ebpf_cachestat_load_and_attach(struct cachestat_bpf *obj, ebpf
291
292
ebpf_cachestat_adjust_map(obj, em);
293
319
- if (!em->apps_charts && !em->cgroup_charts)
320
- ebpf_cachestat_disable_release_task(obj);
321
-
294
int ret = cachestat_bpf__load(obj);
295
if (ret) {
296
return ret;
collectors/ebpf.plugin/ebpf_cachestat.h
+6
@@ -69,6 +69,12 @@ enum cachestat_tables {
69
};
70
71
typedef struct netdata_publish_cachestat_pid {
72
+ uint64_t ct;
73
+ uint32_t tgid;
74
+ uint32_t uid;
75
+ uint32_t gid;
76
+ char name[TASK_COMM_LEN];
77
+
78
uint64_t add_to_page_cache_lru;
79
uint64_t mark_page_accessed;
80
uint64_t account_page_dirtied;
collectors/ebpf.plugin/ebpf_dcstat.c
-28
@@ -75,7 +75,6 @@ static inline void ebpf_dc_disable_probes(struct dc_bpf *obj)
75
{
76
bpf_program__set_autoload(obj->progs.netdata_lookup_fast_kprobe, false);
77
bpf_program__set_autoload(obj->progs.netdata_d_lookup_kretprobe, false);
78
- bpf_program__set_autoload(obj->progs.netdata_dcstat_release_task_kprobe, false);
78
}
79
80
/*
@@ -89,7 +88,6 @@ static inline void ebpf_dc_disable_trampoline(struct dc_bpf *obj)
88
{
89
bpf_program__set_autoload(obj->progs.netdata_lookup_fast_fentry, false);
90
bpf_program__set_autoload(obj->progs.netdata_d_lookup_fexit, false);
92
- bpf_program__set_autoload(obj->progs.netdata_dcstat_release_task_fentry, false);
91
}
92
93
/**
@@ -106,9 +104,6 @@ static void ebpf_dc_set_trampoline_target(struct dc_bpf *obj)
104
105
bpf_program__set_attach_target(obj->progs.netdata_d_lookup_fexit, 0,
106
dc_targets[NETDATA_DC_TARGET_D_LOOKUP].name);
109
-
110
- bpf_program__set_attach_target(obj->progs.netdata_dcstat_release_task_fentry, 0,
111
- EBPF_COMMON_FNCT_CLEAN_UP);
107
}
108
109
/**
@@ -140,13 +135,6 @@ static int ebpf_dc_attach_probes(struct dc_bpf *obj)
135
if (ret)
136
return -1;
137
143
- obj->links.netdata_dcstat_release_task_kprobe = bpf_program__attach_kprobe(obj->progs.netdata_dcstat_release_task_kprobe,
144
- false,
145
- EBPF_COMMON_FNCT_CLEAN_UP);
146
- ret = libbpf_get_error(obj->links.netdata_dcstat_release_task_kprobe);
147
- if (ret)
148
- return -1;
149
-
138
return 0;
139
}
140
@@ -205,19 +193,6 @@ netdata_ebpf_program_loaded_t ebpf_dc_update_load(ebpf_module_t *em)
193
return EBPF_LOAD_RETPROBE;
194
}
195
208
-/**
209
- * Disable Release Task
210
- *
211
- * Disable release task when apps is not enabled.
212
- *
213
- * @param obj is the main structure for bpf objects.
214
- */
215
-static void ebpf_dc_disable_release_task(struct dc_bpf *obj)
216
-{
217
- bpf_program__set_autoload(obj->progs.netdata_dcstat_release_task_kprobe, false);
218
- bpf_program__set_autoload(obj->progs.netdata_dcstat_release_task_fentry, false);
219
-}
220
-
196
/**
197
* Load and attach
198
*
@@ -241,9 +216,6 @@ static inline int ebpf_dc_load_and_attach(struct dc_bpf *obj, ebpf_module_t *em)
216
217
ebpf_dc_adjust_map(obj, em);
218
244
- if (!em->apps_charts && !em->cgroup_charts)
245
- ebpf_dc_disable_release_task(obj);
246
-
219
int ret = dc_bpf__load(obj);
220
if (ret) {
221
return ret;
collectors/ebpf.plugin/ebpf_dcstat.h
+6
@@ -64,6 +64,12 @@ enum directory_cache_targets {
64
};
65
66
typedef struct netdata_publish_dcstat_pid {
67
+ uint64_t ct;
68
+ uint32_t tgid;
69
+ uint32_t uid;
70
+ uint32_t gid;
71
+ char name[TASK_COMM_LEN];
72
+
73
uint64_t cache_access;
74
uint64_t file_system;
75
uint64_t not_found;
collectors/ebpf.plugin/ebpf_fd.c
-28
@@ -73,7 +73,6 @@ static inline void ebpf_fd_disable_probes(struct fd_bpf *obj)
73
{
74
bpf_program__set_autoload(obj->progs.netdata_sys_open_kprobe, false);
75
bpf_program__set_autoload(obj->progs.netdata_sys_open_kretprobe, false);
76
- bpf_program__set_autoload(obj->progs.netdata_release_task_fd_kprobe, false);
76
if (!strcmp(fd_targets[NETDATA_FD_SYSCALL_CLOSE].name, close_targets[NETDATA_FD_CLOSE_FD])) {
77
bpf_program__set_autoload(obj->progs.netdata___close_fd_kretprobe, false);
78
bpf_program__set_autoload(obj->progs.netdata___close_fd_kprobe, false);
@@ -118,7 +117,6 @@ static inline void ebpf_disable_trampoline(struct fd_bpf *obj)
117
bpf_program__set_autoload(obj->progs.netdata_close_fd_fexit, false);
118
bpf_program__set_autoload(obj->progs.netdata___close_fd_fentry, false);
119
bpf_program__set_autoload(obj->progs.netdata___close_fd_fexit, false);
121
- bpf_program__set_autoload(obj->progs.netdata_release_task_fd_fentry, false);
120
}
121
122
/*
@@ -150,7 +148,6 @@ static void ebpf_set_trampoline_target(struct fd_bpf *obj)
148
{
149
bpf_program__set_attach_target(obj->progs.netdata_sys_open_fentry, 0, fd_targets[NETDATA_FD_SYSCALL_OPEN].name);
150
bpf_program__set_attach_target(obj->progs.netdata_sys_open_fexit, 0, fd_targets[NETDATA_FD_SYSCALL_OPEN].name);
153
- bpf_program__set_attach_target(obj->progs.netdata_release_task_fd_fentry, 0, EBPF_COMMON_FNCT_CLEAN_UP);
151
152
if (!strcmp(fd_targets[NETDATA_FD_SYSCALL_CLOSE].name, close_targets[NETDATA_FD_CLOSE_FD])) {
153
bpf_program__set_attach_target(
@@ -187,13 +184,6 @@ static int ebpf_fd_attach_probe(struct fd_bpf *obj)
184
if (ret)
185
return -1;
186
190
- obj->links.netdata_release_task_fd_kprobe = bpf_program__attach_kprobe(obj->progs.netdata_release_task_fd_kprobe,
191
- false,
192
- EBPF_COMMON_FNCT_CLEAN_UP);
193
- ret = libbpf_get_error(obj->links.netdata_release_task_fd_kprobe);
194
- if (ret)
195
- return -1;
196
-
187
if (!strcmp(fd_targets[NETDATA_FD_SYSCALL_CLOSE].name, close_targets[NETDATA_FD_CLOSE_FD])) {
188
obj->links.netdata_close_fd_kretprobe = bpf_program__attach_kprobe(obj->progs.netdata_close_fd_kretprobe, true,
189
fd_targets[NETDATA_FD_SYSCALL_CLOSE].name);
@@ -301,19 +291,6 @@ static void ebpf_fd_adjust_map(struct fd_bpf *obj, ebpf_module_t *em)
291
ebpf_update_map_type(obj->maps.fd_ctrl, &fd_maps[NETDATA_FD_CONTROLLER]);
292
}
293
304
-/**
305
- * Disable Release Task
306
- *
307
- * Disable release task when apps is not enabled.
308
- *
309
- * @param obj is the main structure for bpf objects.
310
- */
311
-static void ebpf_fd_disable_release_task(struct fd_bpf *obj)
312
-{
313
- bpf_program__set_autoload(obj->progs.netdata_release_task_fd_kprobe, false);
314
- bpf_program__set_autoload(obj->progs.netdata_release_task_fd_fentry, false);
315
-}
316
-
294
/**
295
* Load and attach
296
*
@@ -339,8 +316,6 @@ static inline int ebpf_fd_load_and_attach(struct fd_bpf *obj, ebpf_module_t *em)
316
ebpf_disable_specific_trampoline(obj);
317
318
ebpf_set_trampoline_target(obj);
342
- // TODO: Remove this in next PR, because this specific trampoline has an error.
343
- bpf_program__set_autoload(obj->progs.netdata_release_task_fd_fentry, false);
319
} else {
320
ebpf_disable_trampoline(obj);
321
ebpf_disable_specific_probes(obj);
@@ -348,9 +323,6 @@ static inline int ebpf_fd_load_and_attach(struct fd_bpf *obj, ebpf_module_t *em)
323
324
ebpf_fd_adjust_map(obj, em);
325
351
- if (!em->apps_charts && !em->cgroup_charts)
352
- ebpf_fd_disable_release_task(obj);
353
-
326
int ret = fd_bpf__load(obj);
327
if (ret) {
328
return ret;
collectors/ebpf.plugin/ebpf_fd.h
+6
@@ -38,6 +38,12 @@
38
#define NETDATA_EBPF_FD_ARAL_NAME "ebpf_fd"
39
40
typedef struct netdata_fd_stat {
41
+ uint64_t ct;
42
+ uint32_t tgid;
43
+ uint32_t uid;
44
+ uint32_t gid;
45
+ char name[TASK_COMM_LEN];
46
+
47
uint32_t open_call; // Open syscalls (open and openat)
48
uint32_t close_call; // Close syscall (close)
49
collectors/ebpf.plugin/ebpf_shm.c
-27
@@ -89,7 +89,6 @@ static void ebpf_disable_probe(struct shm_bpf *obj)
89
bpf_program__set_autoload(obj->progs.netdata_shmat_probe, false);
90
bpf_program__set_autoload(obj->progs.netdata_shmdt_probe, false);
91
bpf_program__set_autoload(obj->progs.netdata_shmctl_probe, false);
92
- bpf_program__set_autoload(obj->progs.netdata_shm_release_task_probe, false);
92
}
93
94
/*
@@ -105,7 +104,6 @@ static void ebpf_disable_trampoline(struct shm_bpf *obj)
104
bpf_program__set_autoload(obj->progs.netdata_shmat_fentry, false);
105
bpf_program__set_autoload(obj->progs.netdata_shmdt_fentry, false);
106
bpf_program__set_autoload(obj->progs.netdata_shmctl_fentry, false);
108
- bpf_program__set_autoload(obj->progs.netdata_shm_release_task_fentry, false);
107
}
108
109
/**
@@ -138,9 +136,6 @@ static void ebpf_set_trampoline_target(struct shm_bpf *obj)
136
shm_targets[NETDATA_KEY_SHMCTL_CALL].name, running_on_kernel);
137
bpf_program__set_attach_target(obj->progs.netdata_shmctl_fentry, 0,
138
syscall);
141
-
142
- bpf_program__set_attach_target(obj->progs.netdata_shm_release_task_fentry, 0,
143
- EBPF_COMMON_FNCT_CLEAN_UP);
139
}
140
141
/**
@@ -188,13 +183,6 @@ static int ebpf_shm_attach_probe(struct shm_bpf *obj)
183
if (ret)
184
return -1;
185
191
- obj->links.netdata_shm_release_task_probe = bpf_program__attach_kprobe(obj->progs.netdata_shm_release_task_probe,
192
- false, EBPF_COMMON_FNCT_CLEAN_UP);
193
- ret = (int)libbpf_get_error(obj->links.netdata_shm_release_task_probe);
194
- if (ret)
195
- return -1;
196
-
197
-
186
return 0;
187
}
188
@@ -210,19 +198,6 @@ static void ebpf_shm_set_hash_tables(struct shm_bpf *obj)
198
shm_maps[NETDATA_SHM_GLOBAL_TABLE].map_fd = bpf_map__fd(obj->maps.tbl_shm);
199
}
200
213
-/**
214
- * Disable Release Task
215
- *
216
- * Disable release task when apps is not enabled.
217
- *
218
- * @param obj is the main structure for bpf objects.
219
- */
220
-static void ebpf_shm_disable_release_task(struct shm_bpf *obj)
221
-{
222
- bpf_program__set_autoload(obj->progs.netdata_shm_release_task_probe, false);
223
- bpf_program__set_autoload(obj->progs.netdata_shm_release_task_fentry, false);
224
-}
225
-
201
/**
202
* Adjust Map Size
203
*
@@ -271,8 +246,6 @@ static inline int ebpf_shm_load_and_attach(struct shm_bpf *obj, ebpf_module_t *e
246
}
247
248
ebpf_shm_adjust_map(obj, em);
274
- if (!em->apps_charts && !em->cgroup_charts)
275
- ebpf_shm_disable_release_task(obj);
249
250
int ret = shm_bpf__load(obj);
251
if (!ret) {
collectors/ebpf.plugin/ebpf_shm.h
+3
@@ -32,6 +32,9 @@
32
#define NETDATA_EBPF_SHM_ARAL_NAME "ebpf_shm"
33
34
typedef struct netdata_publish_shm {
35
+ uint64_t ct;
36
+ char name[TASK_COMM_LEN];
37
+
38
uint64_t get;
39
uint64_t at;
40
uint64_t dt;
collectors/ebpf.plugin/ebpf_socket.h
+2
@@ -269,6 +269,8 @@ extern ebpf_network_viewer_options_t network_viewer_opt;
269
* Structure to store socket information
270
*/
271
typedef struct netdata_socket {
272
+ char name[TASK_COMM_LEN];
273
+
274
// Timestamp
275
uint64_t first_timestamp;
276
uint64_t current_timestamp;
collectors/ebpf.plugin/ebpf_swap.c
-19
@@ -77,7 +77,6 @@ static void ebpf_swap_disable_trampoline(struct swap_bpf *obj)
77
{
78
bpf_program__set_autoload(obj->progs.netdata_swap_readpage_fentry, false);
79
bpf_program__set_autoload(obj->progs.netdata_swap_writepage_fentry, false);
80
- bpf_program__set_autoload(obj->progs.netdata_release_task_fentry, false);
80
}
81
82
/**
@@ -94,9 +93,6 @@ static void ebpf_swap_set_trampoline_target(struct swap_bpf *obj)
93
94
bpf_program__set_attach_target(obj->progs.netdata_swap_writepage_fentry, 0,
95
swap_targets[NETDATA_KEY_SWAP_WRITEPAGE_CALL].name);
97
-
98
- bpf_program__set_attach_target(obj->progs.netdata_release_task_fentry, 0,
99
- EBPF_COMMON_FNCT_CLEAN_UP);
96
}
97
98
/**
@@ -159,18 +155,6 @@ static void ebpf_swap_adjust_map(struct swap_bpf *obj, ebpf_module_t *em)
155
ebpf_update_map_type(obj->maps.swap_ctrl, &swap_maps[NETDATA_SWAP_CONTROLLER]);
156
}
157
162
-/**
163
- * Disable Release Task
164
- *
165
- * Disable release task when apps is not enabled.
166
- *
167
- * @param obj is the main structure for bpf objects.
168
- */
169
-static void ebpf_swap_disable_release_task(struct swap_bpf *obj)
170
-{
171
- bpf_program__set_autoload(obj->progs.netdata_release_task_fentry, false);
172
-}
173
-
158
/**
159
* Load and attach
160
*
@@ -196,9 +180,6 @@ static inline int ebpf_swap_load_and_attach(struct swap_bpf *obj, ebpf_module_t
180
181
ebpf_swap_adjust_map(obj, em);
182
199
- if (!em->apps_charts && !em->cgroup_charts)
200
- ebpf_swap_disable_release_task(obj);
201
-
183
int ret = swap_bpf__load(obj);
184
if (ret) {
185
return ret;
collectors/ebpf.plugin/ebpf_swap.h
+6
@@ -25,6 +25,12 @@
25
#define NETDATA_SYSTEMD_SWAP_WRITE_CONTEXT "services.swap_write"
26
27
typedef struct netdata_publish_swap {
28
+ uint64_t ct;
29
+ uint32_t tgid;
30
+ uint32_t uid;
31
+ uint32_t gid;
32
+ char name[TASK_COMM_LEN];
33
+
34
uint64_t read;
35
uint64_t write;
36
} netdata_publish_swap_t;
collectors/ebpf.plugin/ebpf_vfs.c
-27
@@ -90,7 +90,6 @@ static void ebpf_vfs_disable_probes(struct vfs_bpf *obj)
90
bpf_program__set_autoload(obj->progs.netdata_vfs_open_kretprobe, false);
91
bpf_program__set_autoload(obj->progs.netdata_vfs_create_kprobe, false);
92
bpf_program__set_autoload(obj->progs.netdata_vfs_create_kretprobe, false);
93
- bpf_program__set_autoload(obj->progs.netdata_vfs_release_task_kprobe, false);
93
}
94
95
/*
@@ -116,7 +115,6 @@ static void ebpf_vfs_disable_trampoline(struct vfs_bpf *obj)
115
bpf_program__set_autoload(obj->progs.netdata_vfs_open_fentry, false);
116
bpf_program__set_autoload(obj->progs.netdata_vfs_open_fexit, false);
117
bpf_program__set_autoload(obj->progs.netdata_vfs_create_fentry, false);
119
- bpf_program__set_autoload(obj->progs.netdata_vfs_release_task_fentry, false);
118
}
119
120
/**
@@ -155,8 +153,6 @@ static void ebpf_vfs_set_trampoline_target(struct vfs_bpf *obj)
153
bpf_program__set_attach_target(obj->progs.netdata_vfs_open_fexit, 0, vfs_targets[NETDATA_EBPF_VFS_OPEN].name);
154
155
bpf_program__set_attach_target(obj->progs.netdata_vfs_create_fentry, 0, vfs_targets[NETDATA_EBPF_VFS_CREATE].name);
158
-
159
- bpf_program__set_attach_target(obj->progs.netdata_vfs_release_task_fentry, 0, EBPF_COMMON_FNCT_CLEAN_UP);
156
}
157
158
/**
@@ -302,13 +298,6 @@ static int ebpf_vfs_attach_probe(struct vfs_bpf *obj)
298
if (ret)
299
return -1;
300
305
- obj->links.netdata_vfs_release_task_kprobe = bpf_program__attach_kprobe(obj->progs.netdata_vfs_release_task_fentry,
306
- true,
307
- EBPF_COMMON_FNCT_CLEAN_UP);
308
- ret = libbpf_get_error(obj->links.netdata_vfs_release_task_kprobe);
309
- if (ret)
310
- return -1;
311
-
301
return 0;
302
}
303
@@ -344,19 +333,6 @@ static void ebpf_vfs_set_hash_tables(struct vfs_bpf *obj)
333
vfs_maps[NETDATA_VFS_CTRL].map_fd = bpf_map__fd(obj->maps.vfs_ctrl);
334
}
335
347
-/**
348
- * Disable Release Task
349
- *
350
- * Disable release task when apps is not enabled.
351
- *
352
- * @param obj is the main structure for bpf objects.
353
- */
354
-static void ebpf_vfs_disable_release_task(struct vfs_bpf *obj)
355
-{
356
- bpf_program__set_autoload(obj->progs.netdata_vfs_release_task_fentry, false);
357
- bpf_program__set_autoload(obj->progs.netdata_vfs_release_task_kprobe, false);
358
-}
359
-
336
/**
337
* Load and attach
338
*
@@ -382,9 +358,6 @@ static inline int ebpf_vfs_load_and_attach(struct vfs_bpf *obj, ebpf_module_t *e
358
359
ebpf_vfs_adjust_map(obj, em);
360
385
- if (!em->apps_charts && !em->cgroup_charts)
386
- ebpf_vfs_disable_release_task(obj);
387
-
361
int ret = vfs_bpf__load(obj);
362
if (ret) {
363
return ret;
collectors/ebpf.plugin/ebpf_vfs.h
+5
-3
@@ -74,9 +74,11 @@
74
#define NETDATA_EBPF_VFS_ARAL_NAME "ebpf_vfs"
75
76
typedef struct netdata_publish_vfs {
77
- uint64_t pid_tgid;
78
- uint32_t pid;
79
- uint32_t pad;
77
+ uint64_t ct;
78
+ uint32_t tgid;
79
+ uint32_t uid;
80
+ uint32_t gid;
81
+ char name[TASK_COMM_LEN];
82
83
//Counter
84
uint32_t write_call;
packaging/ebpf-co-re.checksums
+1
-1
@@ -1 +1 @@
1
-7ef8d2a0f485b4c81942f66c50e1aedcd568b7997a933c50c0ebbd8353543c08 netdata-ebpf-co-re-glibc-v1.2.8.tar.xz
1
+0ada28dc3a19cf40081465cd44bf7a211320c73dab6555d59bb8fbda2aa5b1f4 netdata-ebpf-co-re-glibc-v1.2.14.tar.xz
packaging/ebpf-co-re.version
+1
-1
@@ -1 +1 @@
1
-v1.2.8
1
+v1.2.14
packaging/ebpf.checksums
+3
-3
@@ -1,3 +1,3 @@
1
-9035b6b8dda5230c1ddc44991518a3ee069bd497ad5a8e5448b79dc4b8c51c43 ./netdata-kernel-collector-glibc-v1.2.8.tar.xz
2
-e5b1a141475f75c60c282a2e3ce8e3914893e75d474c976bad95f66d4c9846c5 ./netdata-kernel-collector-musl-v1.2.8.tar.xz
3
-d6081a2fedc9435d1ab430697cb101123cebaac07b62fb91d790ca526923f4e3 ./netdata-kernel-collector-static-v1.2.8.tar.xz
1
+a44096c5b42f1a75a13e5499e9427b9ba4180c37c856b560f108ec0dff545616 ./netdata-kernel-collector-glibc-v1.2.13.tar.xz
2
+d1d2a2cc12a8d6a059edfa9ca42e2e3914ec70e0d54378600d3a93e7e3955d96 ./netdata-kernel-collector-musl-v1.2.13.tar.xz
3
+fa6142867d9dc1bfe222ac5a06e609c34e2eb11a5ee33d5d5a0832a0c8b8a2ef ./netdata-kernel-collector-static-v1.2.13.tar.xz
packaging/ebpf.version
+1
-1
@@ -1 +1 @@
1
-v1.2.8
1
+v1.2.13