summaryrefslogtreecommitdiffstats
path: root/collectors
diff options
context:
space:
mode:
authorthiagoftsm <thiagoftsm@gmail.com>2023-10-11 08:46:23 -0300
committerGitHub <noreply@github.com>2023-10-11 11:46:23 +0000
commit2539cb7ee65f6c5a1e0ccd041aced7a9608b0369 (patch)
treec8aa4183a4238e36f7dd94643acadfc140a7ec2b /collectors
parentf7789e1a83fa819cb072b7d818aef1ceb79c1bcb (diff)
Modify eBPF exit (#16159)
Diffstat (limited to 'collectors')
-rw-r--r--collectors/ebpf.plugin/ebpf.c8
-rw-r--r--collectors/ebpf.plugin/ebpf.h2
-rw-r--r--collectors/ebpf.plugin/ebpf_cachestat.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_cgroup.c2
-rw-r--r--collectors/ebpf.plugin/ebpf_dcstat.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_disk.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_fd.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_filesystem.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_functions.c10
-rw-r--r--collectors/ebpf.plugin/ebpf_hardirq.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_mdflush.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_mount.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_oomkill.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_process.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_shm.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_socket.c8
-rw-r--r--collectors/ebpf.plugin/ebpf_softirq.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_swap.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_sync.c4
-rw-r--r--collectors/ebpf.plugin/ebpf_vfs.c4
20 files changed, 43 insertions, 47 deletions
diff --git a/collectors/ebpf.plugin/ebpf.c b/collectors/ebpf.plugin/ebpf.c
index 51b2b89723..834808fa5d 100644
--- a/collectors/ebpf.plugin/ebpf.c
+++ b/collectors/ebpf.plugin/ebpf.c
@@ -642,6 +642,7 @@ ebpf_plugin_stats_t plugin_statistics = {.core = 0, .legacy = 0, .running = 0, .
.probes = 0, .retprobes = 0, .trampolines = 0, .memlock_kern = 0,
.hash_tables = 0};
netdata_ebpf_judy_pid_t ebpf_judy_pid = {.pid_table = NULL, .index = {.JudyLArray = NULL}};
+bool ebpf_plugin_exit = false;
#ifdef LIBBPF_MAJOR_VERSION
struct btf *default_btf = NULL;
@@ -914,7 +915,6 @@ static void ebpf_unload_sync()
}
}
-int ebpf_exit_plugin = 0;
/**
* Close the collector gracefully
*
@@ -950,7 +950,7 @@ void ebpf_stop_threads(int sig)
#endif
pthread_mutex_unlock(&mutex_cgroup_shm);
- ebpf_exit_plugin = 1;
+ ebpf_plugin_exit = true;
ebpf_check_before2go();
@@ -4013,7 +4013,7 @@ static void ebpf_kill_previous_process(char *filename, pid_t pid)
*/
void ebpf_pid_file(char *filename, size_t length)
{
- snprintfz(filename, length, "%s%s/ebpf.d/ebpf.pid", netdata_configured_host_prefix, ebpf_plugin_dir);
+ snprintfz(filename, length, "%s/var/run/ebpf.pid", netdata_configured_host_prefix);
}
/**
@@ -4136,7 +4136,7 @@ int main(int argc, char **argv)
int update_apps_list = update_apps_every - 1;
int process_maps_per_core = ebpf_modules[EBPF_MODULE_PROCESS_IDX].maps_per_core;
//Plugin will be killed when it receives a signal
- for ( ; !ebpf_exit_plugin ; global_iterations_counter++) {
+ for ( ; !ebpf_plugin_exit; global_iterations_counter++) {
(void)heartbeat_next(&hb, step);
if (global_iterations_counter % EBPF_DEFAULT_UPDATE_EVERY == 0) {
diff --git a/collectors/ebpf.plugin/ebpf.h b/collectors/ebpf.plugin/ebpf.h
index 2f176b48c6..d52ea5a4a0 100644
--- a/collectors/ebpf.plugin/ebpf.h
+++ b/collectors/ebpf.plugin/ebpf.h
@@ -353,7 +353,7 @@ void ebpf_read_local_addresses_unsafe();
extern ebpf_filesystem_partitions_t localfs[];
extern ebpf_sync_syscalls_t local_syscalls[];
-extern int ebpf_exit_plugin;
+extern bool ebpf_plugin_exit;
void ebpf_stop_threads(int sig);
extern netdata_ebpf_judy_pid_t ebpf_judy_pid;
diff --git a/collectors/ebpf.plugin/ebpf_cachestat.c b/collectors/ebpf.plugin/ebpf_cachestat.c
index 4b4ef5beb9..8906006967 100644
--- a/collectors/ebpf.plugin/ebpf_cachestat.c
+++ b/collectors/ebpf.plugin/ebpf_cachestat.c
@@ -1288,10 +1288,10 @@ static void cachestat_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_cgroup.c b/collectors/ebpf.plugin/ebpf_cgroup.c
index fd4e783db1..b1e2c07465 100644
--- a/collectors/ebpf.plugin/ebpf_cgroup.c
+++ b/collectors/ebpf.plugin/ebpf_cgroup.c
@@ -373,7 +373,7 @@ void *ebpf_cgroup_integration(void *ptr)
heartbeat_t hb;
heartbeat_init(&hb);
//Plugin will be killed when it receives a signal
- while (!ebpf_exit_plugin) {
+ while (!ebpf_plugin_exit) {
(void)heartbeat_next(&hb, step);
// We are using a small heartbeat time to wake up thread,
diff --git a/collectors/ebpf.plugin/ebpf_dcstat.c b/collectors/ebpf.plugin/ebpf_dcstat.c
index 52ba5e54f7..8c6f601339 100644
--- a/collectors/ebpf.plugin/ebpf_dcstat.c
+++ b/collectors/ebpf.plugin/ebpf_dcstat.c
@@ -1169,10 +1169,10 @@ static void dcstat_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_disk.c b/collectors/ebpf.plugin/ebpf_disk.c
index f585de6201..9dce8dd188 100644
--- a/collectors/ebpf.plugin/ebpf_disk.c
+++ b/collectors/ebpf.plugin/ebpf_disk.c
@@ -778,10 +778,10 @@ static void disk_collector(ebpf_module_t *em)
int maps_per_core = em->maps_per_core;
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_fd.c b/collectors/ebpf.plugin/ebpf_fd.c
index 044c8b7247..49c19ca778 100644
--- a/collectors/ebpf.plugin/ebpf_fd.c
+++ b/collectors/ebpf.plugin/ebpf_fd.c
@@ -1136,10 +1136,10 @@ static void fd_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_filesystem.c b/collectors/ebpf.plugin/ebpf_filesystem.c
index b5fd98e89c..6203edd9a8 100644
--- a/collectors/ebpf.plugin/ebpf_filesystem.c
+++ b/collectors/ebpf.plugin/ebpf_filesystem.c
@@ -909,10 +909,10 @@ static void filesystem_collector(ebpf_module_t *em)
int counter = update_every - 1;
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_functions.c b/collectors/ebpf.plugin/ebpf_functions.c
index 2aaf91324f..ebee663950 100644
--- a/collectors/ebpf.plugin/ebpf_functions.c
+++ b/collectors/ebpf.plugin/ebpf_functions.c
@@ -1069,11 +1069,10 @@ void *ebpf_function_thread(void *ptr)
{
(void)ptr;
- bool ebpf_function_plugin_exit = false;
struct functions_evloop_globals *wg = functions_evloop_init(1,
"EBPF",
&lock,
- &ebpf_function_plugin_exit);
+ &ebpf_plugin_exit);
functions_evloop_add_function(wg,
"ebpf_socket",
@@ -1082,13 +1081,10 @@ void *ebpf_function_thread(void *ptr)
heartbeat_t hb;
heartbeat_init(&hb);
- while(!ebpf_exit_plugin) {
+ while(!ebpf_plugin_exit) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_function_plugin_exit) {
- pthread_mutex_lock(&ebpf_exit_cleanup);
- ebpf_stop_threads(0);
- pthread_mutex_unlock(&ebpf_exit_cleanup);
+ if (ebpf_plugin_exit) {
break;
}
}
diff --git a/collectors/ebpf.plugin/ebpf_hardirq.c b/collectors/ebpf.plugin/ebpf_hardirq.c
index 9092c7ac30..707d925773 100644
--- a/collectors/ebpf.plugin/ebpf_hardirq.c
+++ b/collectors/ebpf.plugin/ebpf_hardirq.c
@@ -580,10 +580,10 @@ static void hardirq_collector(ebpf_module_t *em)
//This will be cancelled by its parent
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_mdflush.c b/collectors/ebpf.plugin/ebpf_mdflush.c
index 3548d673ba..c0adf2ea4a 100644
--- a/collectors/ebpf.plugin/ebpf_mdflush.c
+++ b/collectors/ebpf.plugin/ebpf_mdflush.c
@@ -345,10 +345,10 @@ static void mdflush_collector(ebpf_module_t *em)
int maps_per_core = em->maps_per_core;
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_mount.c b/collectors/ebpf.plugin/ebpf_mount.c
index 8650e8b623..473036bd7d 100644
--- a/collectors/ebpf.plugin/ebpf_mount.c
+++ b/collectors/ebpf.plugin/ebpf_mount.c
@@ -367,9 +367,9 @@ static void mount_collector(ebpf_module_t *em)
int maps_per_core = em->maps_per_core;
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_oomkill.c b/collectors/ebpf.plugin/ebpf_oomkill.c
index 84830160a0..16ce0bddfe 100644
--- a/collectors/ebpf.plugin/ebpf_oomkill.c
+++ b/collectors/ebpf.plugin/ebpf_oomkill.c
@@ -420,9 +420,9 @@ static void oomkill_collector(ebpf_module_t *em)
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_process.c b/collectors/ebpf.plugin/ebpf_process.c
index 3537efc553..577044e597 100644
--- a/collectors/ebpf.plugin/ebpf_process.c
+++ b/collectors/ebpf.plugin/ebpf_process.c
@@ -1118,10 +1118,10 @@ static void process_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
usec_t dt = heartbeat_next(&hb, USEC_PER_SEC);
(void)dt;
- if (ebpf_exit_plugin)
+ if (ebpf_plugin_exit)
break;
if (++counter == update_every) {
diff --git a/collectors/ebpf.plugin/ebpf_shm.c b/collectors/ebpf.plugin/ebpf_shm.c
index a79074c78c..c171762b6e 100644
--- a/collectors/ebpf.plugin/ebpf_shm.c
+++ b/collectors/ebpf.plugin/ebpf_shm.c
@@ -1035,9 +1035,9 @@ static void shm_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_socket.c b/collectors/ebpf.plugin/ebpf_socket.c
index 33a82dec0e..3e38975514 100644
--- a/collectors/ebpf.plugin/ebpf_socket.c
+++ b/collectors/ebpf.plugin/ebpf_socket.c
@@ -1756,9 +1756,9 @@ void *ebpf_read_socket_thread(void *ptr)
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
usec_t period = update_every * USEC_PER_SEC;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, period);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
ebpf_update_array_vectors(em);
@@ -2490,9 +2490,9 @@ static void socket_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_softirq.c b/collectors/ebpf.plugin/ebpf_softirq.c
index 8d8930a109..711ff43a6e 100644
--- a/collectors/ebpf.plugin/ebpf_softirq.c
+++ b/collectors/ebpf.plugin/ebpf_softirq.c
@@ -218,9 +218,9 @@ static void softirq_collector(ebpf_module_t *em)
//This will be cancelled by its parent
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_swap.c b/collectors/ebpf.plugin/ebpf_swap.c
index 9629a09b11..d0c8cee3d9 100644
--- a/collectors/ebpf.plugin/ebpf_swap.c
+++ b/collectors/ebpf.plugin/ebpf_swap.c
@@ -796,9 +796,9 @@ static void swap_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_sync.c b/collectors/ebpf.plugin/ebpf_sync.c
index 064690683e..95dda19fdf 100644
--- a/collectors/ebpf.plugin/ebpf_sync.c
+++ b/collectors/ebpf.plugin/ebpf_sync.c
@@ -560,9 +560,9 @@ static void sync_collector(ebpf_module_t *em)
int maps_per_core = em->maps_per_core;
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;
diff --git a/collectors/ebpf.plugin/ebpf_vfs.c b/collectors/ebpf.plugin/ebpf_vfs.c
index e566e169da..1e06e2a757 100644
--- a/collectors/ebpf.plugin/ebpf_vfs.c
+++ b/collectors/ebpf.plugin/ebpf_vfs.c
@@ -1960,9 +1960,9 @@ static void vfs_collector(ebpf_module_t *em)
uint32_t lifetime = em->lifetime;
netdata_idx_t *stats = em->hash_table_stats;
memset(stats, 0, sizeof(em->hash_table_stats));
- while (!ebpf_exit_plugin && running_time < lifetime) {
+ while (!ebpf_plugin_exit && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
- if (ebpf_exit_plugin || ++counter != update_every)
+ if (ebpf_plugin_exit || ++counter != update_every)
continue;
counter = 0;