diff options
author | thiagoftsm <thiagoftsm@gmail.com> | 2024-03-29 20:06:17 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-29 20:06:17 +0000 |
commit | 39bb77bfed67330bc7a868d7442a59d535646982 (patch) | |
tree | 0d68d4703b72f002c6440379d031c09e7a087d6c | |
parent | 609c235fc42e7bb543b344dabcb83815c85bc5dc (diff) |
Add label for cgroup (#17156)
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf.c | 11 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_cachestat.c | 17 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_cgroup.c | 2 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_dcstat.c | 17 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_fd.c | 17 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_oomkill.c | 2 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_process.c | 21 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_shm.c | 17 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_socket.c | 37 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_swap.c | 9 | ||||
-rw-r--r-- | src/collectors/ebpf.plugin/ebpf_vfs.c | 53 |
11 files changed, 153 insertions, 50 deletions
diff --git a/src/collectors/ebpf.plugin/ebpf.c b/src/collectors/ebpf.plugin/ebpf.c index 5cbcd19abf..675ba68328 100644 --- a/src/collectors/ebpf.plugin/ebpf.c +++ b/src/collectors/ebpf.plugin/ebpf.c @@ -943,6 +943,13 @@ void ebpf_stop_threads(int sig) } pthread_mutex_unlock(&ebpf_exit_cleanup); + for (i = 0; ebpf_modules[i].info.thread_name != NULL; i++) { + if (ebpf_threads[i].thread) + netdata_thread_join(*ebpf_threads[i].thread, NULL); + } + + ebpf_plugin_exit = true; + pthread_mutex_lock(&mutex_cgroup_shm); netdata_thread_cancel(*cgroup_integration_thread.thread); #ifdef NETDATA_DEV_MODE @@ -950,8 +957,6 @@ void ebpf_stop_threads(int sig) #endif pthread_mutex_unlock(&mutex_cgroup_shm); - ebpf_plugin_exit = true; - ebpf_check_before2go(); pthread_mutex_lock(&ebpf_exit_cleanup); @@ -4022,7 +4027,7 @@ int main(int argc, char **argv) st->thread = mallocz(sizeof(netdata_thread_t)); em->enabled = NETDATA_THREAD_EBPF_RUNNING; em->lifetime = EBPF_NON_FUNCTION_LIFE_TIME; - netdata_thread_create(st->thread, st->name, NETDATA_THREAD_OPTION_DEFAULT, st->start_routine, em); + netdata_thread_create(st->thread, st->name, NETDATA_THREAD_OPTION_JOINABLE, st->start_routine, em); } else { em->lifetime = EBPF_DEFAULT_LIFETIME; } diff --git a/src/collectors/ebpf.plugin/ebpf_cachestat.c b/src/collectors/ebpf.plugin/ebpf_cachestat.c index 45e09766f9..91d9a28dbe 100644 --- a/src/collectors/ebpf.plugin/ebpf_cachestat.c +++ b/src/collectors/ebpf.plugin/ebpf_cachestat.c @@ -895,7 +895,7 @@ void ebpf_cachestat_create_apps_charts(struct ebpf_module *em, void *ptr) 20260, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION ratio '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); @@ -911,7 +911,7 @@ void ebpf_cachestat_create_apps_charts(struct ebpf_module *em, void *ptr) 20261, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION pages '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -926,7 +926,7 @@ void ebpf_cachestat_create_apps_charts(struct ebpf_module *em, void *ptr) 20262, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION hits '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); @@ -941,7 +941,7 @@ void ebpf_cachestat_create_apps_charts(struct ebpf_module *em, void *ptr) 20263, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION misses '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); w->charts_created |= 1<<EBPF_MODULE_CACHESTAT_IDX; @@ -1259,6 +1259,7 @@ static void ebpf_send_specific_cachestat_data(char *type, netdata_publish_caches */ static void ebpf_create_specific_cachestat_charts(char *type, int update_every) { + char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type; ebpf_create_chart(type, NETDATA_CACHESTAT_HIT_RATIO_CHART, "Hit ratio", EBPF_COMMON_DIMENSION_PERCENTAGE, NETDATA_CACHESTAT_SUBMENU, @@ -1266,6 +1267,8 @@ static void ebpf_create_specific_cachestat_charts(char *type, int update_every) NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5200, ebpf_create_global_dimension, cachestat_counter_publish_aggregated, 1, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_CACHESTAT_DIRTY_CHART, "Number of dirty pages", @@ -1275,6 +1278,8 @@ static void ebpf_create_specific_cachestat_charts(char *type, int update_every) ebpf_create_global_dimension, &cachestat_counter_publish_aggregated[NETDATA_CACHESTAT_IDX_DIRTY], 1, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_CACHESTAT_HIT_CHART, "Number of accessed files", @@ -1284,6 +1289,8 @@ static void ebpf_create_specific_cachestat_charts(char *type, int update_every) ebpf_create_global_dimension, &cachestat_counter_publish_aggregated[NETDATA_CACHESTAT_IDX_HIT], 1, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_CACHESTAT_MISSES_CHART, "Files out of page cache", @@ -1293,6 +1300,8 @@ static void ebpf_create_specific_cachestat_charts(char *type, int update_every) ebpf_create_global_dimension, &cachestat_counter_publish_aggregated[NETDATA_CACHESTAT_IDX_MISS], 1, update_every, NETDATA_EBPF_MODULE_NAME_CACHESTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } /** diff --git a/src/collectors/ebpf.plugin/ebpf_cgroup.c b/src/collectors/ebpf.plugin/ebpf_cgroup.c index 881a00ddf4..7dbb52a2cd 100644 --- a/src/collectors/ebpf.plugin/ebpf_cgroup.c +++ b/src/collectors/ebpf.plugin/ebpf_cgroup.c @@ -340,7 +340,7 @@ void ebpf_create_charts_on_systemd(ebpf_systemd_args_t *chart) chart->order, chart->update_every, chart->module); - ebpf_create_chart_labels("service_name", chart->id, 0); + ebpf_create_chart_labels("service_name", chart->id, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION %s '' %s 1 1\n", chart->dimension, chart->algorithm); } diff --git a/src/collectors/ebpf.plugin/ebpf_dcstat.c b/src/collectors/ebpf.plugin/ebpf_dcstat.c index 7fa9ca1f0b..8e458eb528 100644 --- a/src/collectors/ebpf.plugin/ebpf_dcstat.c +++ b/src/collectors/ebpf.plugin/ebpf_dcstat.c @@ -696,7 +696,7 @@ void ebpf_dcstat_create_apps_charts(struct ebpf_module *em, void *ptr) 20265, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION ratio '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); @@ -711,7 +711,7 @@ void ebpf_dcstat_create_apps_charts(struct ebpf_module *em, void *ptr) 20266, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION files '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); @@ -726,7 +726,7 @@ void ebpf_dcstat_create_apps_charts(struct ebpf_module *em, void *ptr) 20267, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION files '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); @@ -741,7 +741,7 @@ void ebpf_dcstat_create_apps_charts(struct ebpf_module *em, void *ptr) 20268, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION files '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); @@ -910,12 +910,15 @@ static void dcstat_send_global(netdata_publish_dcstat_t *publish) */ static void ebpf_create_specific_dc_charts(char *type, int update_every) { + char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type; ebpf_create_chart(type, NETDATA_DC_HIT_CHART, "Percentage of files inside directory cache", EBPF_COMMON_DIMENSION_PERCENTAGE, NETDATA_DIRECTORY_CACHE_SUBMENU, NETDATA_CGROUP_DC_HIT_RATIO_CONTEXT, NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5700, ebpf_create_global_dimension, dcstat_counter_publish_aggregated, 1, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_DC_REFERENCE_CHART, "Count file access", EBPF_COMMON_DIMENSION_FILES, NETDATA_DIRECTORY_CACHE_SUBMENU, @@ -924,6 +927,8 @@ static void ebpf_create_specific_dc_charts(char *type, int update_every) ebpf_create_global_dimension, &dcstat_counter_publish_aggregated[NETDATA_DCSTAT_IDX_REFERENCE], 1, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_DC_REQUEST_NOT_CACHE_CHART, "Files not present inside directory cache", @@ -933,6 +938,8 @@ static void ebpf_create_specific_dc_charts(char *type, int update_every) ebpf_create_global_dimension, &dcstat_counter_publish_aggregated[NETDATA_DCSTAT_IDX_SLOW], 1, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_DC_REQUEST_NOT_FOUND_CHART, "Files not found", @@ -942,6 +949,8 @@ static void ebpf_create_specific_dc_charts(char *type, int update_every) ebpf_create_global_dimension, &dcstat_counter_publish_aggregated[NETDATA_DCSTAT_IDX_MISS], 1, update_every, NETDATA_EBPF_MODULE_NAME_DCSTAT); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } /** diff --git a/src/collectors/ebpf.plugin/ebpf_fd.c b/src/collectors/ebpf.plugin/ebpf_fd.c index e1dc5b356b..7d87c48509 100644 --- a/src/collectors/ebpf.plugin/ebpf_fd.c +++ b/src/collectors/ebpf.plugin/ebpf_fd.c @@ -904,6 +904,7 @@ static void ebpf_fd_sum_cgroup_pids(netdata_fd_stat_t *fd, struct pid_on_target2 */ static void ebpf_create_specific_fd_charts(char *type, ebpf_module_t *em) { + char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type; ebpf_create_chart(type, NETDATA_SYSCALL_APPS_FILE_OPEN, "Number of open files", EBPF_COMMON_DIMENSION_CALL, NETDATA_APPS_FILE_GROUP, NETDATA_CGROUP_FD_OPEN_CONTEXT, NETDATA_EBPF_CHART_TYPE_LINE, @@ -911,6 +912,8 @@ static void ebpf_create_specific_fd_charts(char *type, ebpf_module_t *em) ebpf_create_global_dimension, &fd_publish_aggregated[NETDATA_FD_SYSCALL_OPEN], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_FD); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); if (em->mode < MODE_ENTRY) { ebpf_create_chart(type, NETDATA_SYSCALL_APPS_FILE_OPEN_ERROR, "Fails to open files", @@ -921,6 +924,8 @@ static void ebpf_create_specific_fd_charts(char *type, ebpf_module_t *em) &fd_publish_aggregated[NETDATA_FD_SYSCALL_OPEN], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_FD); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } ebpf_create_chart(type, NETDATA_SYSCALL_APPS_FILE_CLOSED, "Files closed", @@ -930,6 +935,8 @@ static void ebpf_create_specific_fd_charts(char *type, ebpf_module_t *em) ebpf_create_global_dimension, &fd_publish_aggregated[NETDATA_FD_SYSCALL_CLOSE], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_FD); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); if (em->mode < MODE_ENTRY) { ebpf_create_chart(type, NETDATA_SYSCALL_APPS_FILE_CLOSE_ERROR, "Fails to close files", @@ -940,6 +947,8 @@ static void ebpf_create_specific_fd_charts(char *type, ebpf_module_t *em) &fd_publish_aggregated[NETDATA_FD_SYSCALL_CLOSE], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_FD); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } } @@ -1263,7 +1272,7 @@ void ebpf_fd_create_apps_charts(struct ebpf_module *em, void *ptr) 20220, update_every, NETDATA_EBPF_MODULE_NAME_FD); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1279,7 +1288,7 @@ void ebpf_fd_create_apps_charts(struct ebpf_module *em, void *ptr) 20221, update_every, NETDATA_EBPF_MODULE_NAME_FD); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); } @@ -1295,7 +1304,7 @@ void ebpf_fd_create_apps_charts(struct ebpf_module *em, void *ptr) 20222, update_every, NETDATA_EBPF_MODULE_NAME_FD); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1311,7 +1320,7 @@ void ebpf_fd_create_apps_charts(struct ebpf_module *em, void *ptr) 20223, update_every, NETDATA_EBPF_MODULE_NAME_FD); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); } diff --git a/src/collectors/ebpf.plugin/ebpf_oomkill.c b/src/collectors/ebpf.plugin/ebpf_oomkill.c index e7604a2db2..fba5a2dda5 100644 --- a/src/collectors/ebpf.plugin/ebpf_oomkill.c +++ b/src/collectors/ebpf.plugin/ebpf_oomkill.c @@ -514,7 +514,7 @@ void ebpf_oomkill_create_apps_charts(struct ebpf_module *em, void *ptr) 20072, update_every, NETDATA_EBPF_MODULE_NAME_OOMKILL); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION kills '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_ABSOLUTE_IDX]); diff --git a/src/collectors/ebpf.plugin/ebpf_process.c b/src/collectors/ebpf.plugin/ebpf_process.c index 306b596396..695c8c0727 100644 --- a/src/collectors/ebpf.plugin/ebpf_process.c +++ b/src/collectors/ebpf.plugin/ebpf_process.c @@ -357,7 +357,7 @@ void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr) 20161, update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -372,7 +372,7 @@ void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr) 20162, update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -387,7 +387,7 @@ void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr) 20163, update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -402,7 +402,7 @@ void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr) 20164, update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -418,7 +418,7 @@ void ebpf_process_create_apps_charts(struct ebpf_module *em, void *ptr) 20165, update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); } @@ -820,12 +820,15 @@ static void ebpf_send_specific_process_data(char *type, ebpf_process_stat_t *val */ static void ebpf_create_specific_process_charts(char *type, ebpf_module_t *em) { + char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type; ebpf_create_chart(type, NETDATA_SYSCALL_APPS_TASK_PROCESS, "Process started", EBPF_COMMON_DIMENSION_CALL, NETDATA_PROCESS_GROUP, NETDATA_CGROUP_PROCESS_CREATE_CONTEXT, NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5000, ebpf_create_global_dimension, &process_publish_aggregated[NETDATA_KEY_PUBLISH_PROCESS_FORK], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_SYSCALL_APPS_TASK_THREAD, "Threads started", EBPF_COMMON_DIMENSION_CALL, NETDATA_PROCESS_GROUP, @@ -834,6 +837,8 @@ static void ebpf_create_specific_process_charts(char *type, ebpf_module_t *em) ebpf_create_global_dimension, &process_publish_aggregated[NETDATA_KEY_PUBLISH_PROCESS_CLONE], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_SYSCALL_APPS_TASK_EXIT, "Tasks starts exit process.", EBPF_COMMON_DIMENSION_CALL, NETDATA_PROCESS_GROUP, @@ -842,6 +847,8 @@ static void ebpf_create_specific_process_charts(char *type, ebpf_module_t *em) ebpf_create_global_dimension, &process_publish_aggregated[NETDATA_KEY_PUBLISH_PROCESS_EXIT], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_SYSCALL_APPS_TASK_CLOSE, "Tasks closed", EBPF_COMMON_DIMENSION_CALL, NETDATA_PROCESS_GROUP, @@ -850,6 +857,8 @@ static void ebpf_create_specific_process_charts(char *type, ebpf_module_t *em) ebpf_create_global_dimension, &process_publish_aggregated[NETDATA_KEY_PUBLISH_PROCESS_RELEASE_TASK], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); if (em->mode < MODE_ENTRY) { ebpf_create_chart(type, NETDATA_SYSCALL_APPS_TASK_ERROR, "Errors to create process or threads.", @@ -859,6 +868,8 @@ static void ebpf_create_specific_process_charts(char *type, ebpf_module_t *em) ebpf_create_global_dimension, &process_publish_aggregated[NETDATA_KEY_PUBLISH_PROCESS_EXIT], 1, em->update_every, NETDATA_EBPF_MODULE_NAME_PROCESS); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } } diff --git a/src/collectors/ebpf.plugin/ebpf_shm.c b/src/collectors/ebpf.plugin/ebpf_shm.c index 816e68cfd6..ed9436c04b 100644 --- a/src/collectors/ebpf.plugin/ebpf_shm.c +++ b/src/collectors/ebpf.plugin/ebpf_shm.c @@ -735,6 +735,7 @@ static void ebpf_shm_sum_cgroup_pids(netdata_publish_shm_t *shm, struct pid_on_t */ static void ebpf_create_specific_shm_charts(char *type, int update_every) { + char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type; ebpf_create_chart(type, NETDATA_SHMGET_CHART, "Calls to syscall shmget(2).", EBPF_COMMON_DIMENSION_CALL, @@ -747,6 +748,8 @@ static void ebpf_create_specific_shm_charts(char *type, int update_every) 1, update_every, NETDATA_EBPF_MODULE_NAME_SHM); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_SHMAT_CHART, "Calls to syscall shmat(2).", @@ -760,6 +763,8 @@ static void ebpf_create_specific_shm_charts(char *type, int update_every) 1, update_every, NETDATA_EBPF_MODULE_NAME_SHM); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_SHMDT_CHART, "Calls to syscall shmdt(2).", @@ -773,6 +778,8 @@ static void ebpf_create_specific_shm_charts(char *type, int update_every) 1, update_every, NETDATA_EBPF_MODULE_NAME_SHM); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_SHMCTL_CHART, "Calls to syscall shmctl(2).", @@ -786,6 +793,8 @@ static void ebpf_create_specific_shm_charts(char *type, int update_every) 1, update_every, NETDATA_EBPF_MODULE_NAME_SHM); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } /** @@ -1168,7 +1177,7 @@ void ebpf_shm_create_apps_charts(struct ebpf_module *em, void *ptr) 20191, update_every, NETDATA_EBPF_MODULE_NAME_SHM); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1183,7 +1192,7 @@ void ebpf_shm_create_apps_charts(struct ebpf_module *em, void *ptr) 20192, update_every, NETDATA_EBPF_MODULE_NAME_SHM); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1198,7 +1207,7 @@ void ebpf_shm_create_apps_charts(struct ebpf_module *em, void *ptr) 20193, update_every, NETDATA_EBPF_MODULE_NAME_SHM); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1213,7 +1222,7 @@ void ebpf_shm_create_apps_charts(struct ebpf_module *em, void *ptr) 20194, update_every, NETDATA_EBPF_MODULE_NAME_SHM); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); diff --git a/src/collectors/ebpf.plugin/ebpf_socket.c b/src/collectors/ebpf.plugin/ebpf_socket.c index 5361526dfa..32e8e9e50e 100644 --- a/src/collectors/ebpf.plugin/ebpf_socket.c +++ b/src/collectors/ebpf.plugin/ebpf_socket.c @@ -1236,7 +1236,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION connections '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1252,7 +1252,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION connections '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); } @@ -1268,7 +1268,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION bandwidth '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1283,7 +1283,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION bandwidth '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1298,7 +1298,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1313,7 +1313,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1328,7 +1328,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1343,7 +1343,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order++, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -1358,7 +1358,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr) order, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); - ebpf_create_chart_labels("app_group", w->name, 1); + ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO); ebpf_commit_label(); fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]); @@ -2108,6 +2108,7 @@ static void ebpf_socket_sum_cgroup_pids(ebpf_socket_publish_apps_t *socket, stru static void ebpf_create_specific_socket_charts(char *type, int update_every) { int order_basis = 5300; + char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type; ebpf_create_chart(type, NETDATA_NET_APPS_CONNECTION_TCP_V4, "Calls to tcp_v4_connection", EBPF_COMMON_DIMENSION_CONNECTIONS, NETDATA_CGROUP_NET_GROUP, @@ -2117,6 +2118,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) ebpf_create_global_dimension, &socket_publish_aggregated[NETDATA_IDX_TCP_CONNECTION_V4], 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); if (tcp_v6_connect_address.type == 'T') { ebpf_create_chart(type, @@ -2132,6 +2135,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); } ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_RECV, @@ -2143,6 +2148,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) ebpf_create_global_dimension, &socket_publish_aggregated[NETDATA_IDX_TCP_CLEANUP_RBUF], 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_SENT, "Bytes sent", @@ -2153,6 +2160,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) ebpf_create_global_dimension, socket_publish_aggregated, 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS, "Calls to tcp_cleanup_rbuf.", @@ -2163,6 +2172,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) ebpf_create_global_dimension, &socket_publish_aggregated[NETDATA_IDX_TCP_CLEANUP_RBUF], 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS, "Calls to tcp_sendmsg.", @@ -2173,6 +2184,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) ebpf_create_global_dimension, socket_publish_aggregated, 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + ebpf_commit_label(); ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT, "Calls to tcp_retransmit.", @@ -2183,6 +2196,8 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every) ebpf_create_global_dimension, &socket_publish_aggregated[NETDATA_IDX_TCP_RETRANSMIT], 1, update_every, NETDATA_EBPF_MODULE_NAME_SOCKET); + ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO); + |