@cryptotaxi247 / netdata-1 / commits / 0e0a6e8bc

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