@cryptotaxi247 / netdata-1 / commits / b115fde31

eBPF cgroup and mutex (#17915)

thiagoftsm committed Jul 11, 2024 at 12:08 UTC b115fde31862e932ed1ff4fdd5119c514d62b3dd
23 files changed +438 -488
src/collectors/ebpf.plugin/ebpf.c
+1 -1
@@ -4050,8 +4050,8 @@ int main(int argc, char **argv)
4050 ebpf_create_statistic_charts(EBPF_DEFAULT_UPDATE_EVERY);
4051
4052 ebpf_send_statistic_data();
4053 - pthread_mutex_unlock(&lock);
4053 fflush(stdout);
4054 + pthread_mutex_unlock(&lock);
4055 }
4056
4057 if (++update_apps_list == update_apps_every) {
src/collectors/ebpf.plugin/ebpf_cachestat.c
+12 -12
@@ -330,9 +330,9 @@ static void ebpf_obsolete_specific_cachestat_charts(char *type, int update_every
330 */
331 static void ebpf_obsolete_cachestat_services(ebpf_module_t *em, char *id)
332 {
333 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
334 - id,
333 + ebpf_write_chart_obsolete(id,
334 NETDATA_CACHESTAT_HIT_RATIO_CHART,
335 + "",
336 "Hit ratio",
337 EBPF_COMMON_UNITS_PERCENTAGE,
338 NETDATA_CACHESTAT_SUBMENU,
@@ -341,9 +341,9 @@ static void ebpf_obsolete_cachestat_services(ebpf_module_t *em, char *id)
341 21100,
342 em->update_every);
343
344 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
345 - id,
344 + ebpf_write_chart_obsolete(id,
345 NETDATA_CACHESTAT_DIRTY_CHART,
346 + "",
347 "Number of dirty pages",
348 EBPF_CACHESTAT_UNITS_PAGE,
349 NETDATA_CACHESTAT_SUBMENU,
@@ -352,9 +352,9 @@ static void ebpf_obsolete_cachestat_services(ebpf_module_t *em, char *id)
352 21101,
353 em->update_every);
354
355 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
356 - id,
355 + ebpf_write_chart_obsolete(id,
356 NETDATA_CACHESTAT_HIT_CHART,
357 + "",
358 "Number of accessed files",
359 EBPF_CACHESTAT_UNITS_HITS,
360 NETDATA_CACHESTAT_SUBMENU,
@@ -363,9 +363,9 @@ static void ebpf_obsolete_cachestat_services(ebpf_module_t *em, char *id)
363 21102,
364 em->update_every);
365
366 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
367 - id,
366 + ebpf_write_chart_obsolete(id,
367 NETDATA_CACHESTAT_MISSES_CHART,
368 + "",
369 "Files out of page cache",
370 EBPF_CACHESTAT_UNITS_MISSES,
371 NETDATA_CACHESTAT_SUBMENU,
@@ -1205,19 +1205,19 @@ static void ebpf_send_systemd_cachestat_charts()
1205 continue;
1206 }
1207
1208 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_CACHESTAT_HIT_RATIO_CHART);
1208 + ebpf_write_begin_chart(ect->name, NETDATA_CACHESTAT_HIT_RATIO_CHART, "");
1209 write_chart_dimension("percentage", (long long)ect->publish_cachestat.ratio);
1210 ebpf_write_end_chart();
1211
1212 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_CACHESTAT_DIRTY_CHART);
1212 + ebpf_write_begin_chart(ect->name, NETDATA_CACHESTAT_DIRTY_CHART, "");
1213 write_chart_dimension("pages", (long long)ect->publish_cachestat.dirty);
1214 ebpf_write_end_chart();
1215
1216 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_CACHESTAT_HIT_CHART);
1216 + ebpf_write_begin_chart(ect->name, NETDATA_CACHESTAT_HIT_CHART, "");
1217 write_chart_dimension("hits", (long long)ect->publish_cachestat.hit);
1218 ebpf_write_end_chart();
1219
1220 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_CACHESTAT_MISSES_CHART);
1220 + ebpf_write_begin_chart(ect->name, NETDATA_CACHESTAT_MISSES_CHART, "");
1221 write_chart_dimension("misses", (long long)ect->publish_cachestat.miss);
1222 ebpf_write_end_chart();
1223 }
src/collectors/ebpf.plugin/ebpf_cachestat.h
+4 -4
@@ -33,10 +33,10 @@
33 #define NETDATA_CGROUP_CACHESTAT_HIT_FILES_CONTEXT "cgroup.cachestat_hits"
34 #define NETDATA_CGROUP_CACHESTAT_MISS_FILES_CONTEXT "cgroup.cachestat_misses"
35
36 -#define NETDATA_SYSTEMD_CACHESTAT_HIT_RATIO_CONTEXT "systemd.services.cachestat_ratio"
37 -#define NETDATA_SYSTEMD_CACHESTAT_MODIFIED_CACHE_CONTEXT "systemd.services.cachestat_dirties"
38 -#define NETDATA_SYSTEMD_CACHESTAT_HIT_FILE_CONTEXT "systemd.services.cachestat_hits"
39 -#define NETDATA_SYSTEMD_CACHESTAT_MISS_FILES_CONTEXT "systemd.services.cachestat_misses"
36 +#define NETDATA_SYSTEMD_CACHESTAT_HIT_RATIO_CONTEXT "systemd.service.cachestat_ratio"
37 +#define NETDATA_SYSTEMD_CACHESTAT_MODIFIED_CACHE_CONTEXT "systemd.service.cachestat_dirties"
38 +#define NETDATA_SYSTEMD_CACHESTAT_HIT_FILE_CONTEXT "systemd.service.cachestat_hits"
39 +#define NETDATA_SYSTEMD_CACHESTAT_MISS_FILES_CONTEXT "systemd.service.cachestat_misses"
40
41 // variables
42 enum cachestat_counters {
src/collectors/ebpf.plugin/ebpf_cgroup.c
+18 -4
@@ -329,9 +329,9 @@ void ebpf_parse_cgroup_shm_data()
329 */
330 void ebpf_create_charts_on_systemd(ebpf_systemd_args_t *chart)
331 {
332 - ebpf_write_chart_cmd(NETDATA_SERVICE_FAMILY,
333 - chart->id,
332 + ebpf_write_chart_cmd(chart->id,
333 chart->suffix,
334 + "",
335 chart->title,
336 chart->units,
337 chart->family,
@@ -340,9 +340,23 @@ void ebpf_create_charts_on_systemd(ebpf_systemd_args_t *chart)
340 chart->order,
341 chart->update_every,
342 chart->module);
343 - ebpf_create_chart_labels("service_name", chart->id, RRDLABEL_SRC_AUTO);
343 + char service_name[512];
344 + snprintfz(service_name, 511, "%s", (!strstr(chart->id, "systemd_")) ? chart->id : (chart->id + 8));
345 + ebpf_create_chart_labels("service_name", service_name, RRDLABEL_SRC_AUTO);
346 ebpf_commit_label();
345 - fprintf(stdout, "DIMENSION %s '' %s 1 1\n", chart->dimension, chart->algorithm);
347 + // Let us keep original string that can be used in another place. Chart creation does not happen frequently.
348 + char *move = strdupz(chart->dimension);
349 + while (move) {
350 + char *next_dim = strchr(move, ',');
351 + if (next_dim) {
352 + *next_dim = '\0';
353 + next_dim++;
354 + }
355 +
356 + fprintf(stdout, "DIMENSION %s '' %s 1 1\n", move, chart->algorithm);
357 + move = next_dim;
358 + }
359 + freez(move);
360 }
361
362 // --------------------------------------------------------------------------------------------------------------------
src/collectors/ebpf.plugin/ebpf_cgroup.h
-2
@@ -9,8 +9,6 @@
9 #include "ebpf.h"
10 #include "ebpf_apps.h"
11
12 -#define NETDATA_SERVICE_FAMILY "systemd"
13 -
12 struct pid_on_target2 {
13 int32_t pid;
14 int updated;
src/collectors/ebpf.plugin/ebpf_dcstat.c
+12 -12
@@ -279,9 +279,9 @@ static void ebpf_obsolete_specific_dc_charts(char *type, int update_every);
279 */
280 static void ebpf_obsolete_dc_services(ebpf_module_t *em, char *id)
281 {
282 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
283 - id,
282 + ebpf_write_chart_obsolete(id,
283 NETDATA_DC_HIT_CHART,
284 + "",
285 "Percentage of files inside directory cache",
286 EBPF_COMMON_UNITS_PERCENTAGE,
287 NETDATA_DIRECTORY_CACHE_SUBMENU,
@@ -290,9 +290,9 @@ static void ebpf_obsolete_dc_services(ebpf_module_t *em, char *id)
290 21200,
291 em->update_every);
292
293 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
294 - id,
293 + ebpf_write_chart_obsolete(id,
294 NETDATA_DC_REFERENCE_CHART,
295 + "",
296 "Count file access",
297 EBPF_COMMON_UNITS_FILES,
298 NETDATA_DIRECTORY_CACHE_SUBMENU,
@@ -301,9 +301,9 @@ static void ebpf_obsolete_dc_services(ebpf_module_t *em, char *id)
301 21201,
302 em->update_every);
303
304 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
305 - id,
304 + ebpf_write_chart_obsolete(id,
305 NETDATA_DC_REQUEST_NOT_CACHE_CHART,
306 + "",
307 "Files not present inside directory cache",
308 EBPF_COMMON_UNITS_FILES,
309 NETDATA_DIRECTORY_CACHE_SUBMENU,
@@ -312,9 +312,9 @@ static void ebpf_obsolete_dc_services(ebpf_module_t *em, char *id)
312 21202,
313 em->update_every);
314
315 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
316 - id,
315 + ebpf_write_chart_obsolete(id,
316 NETDATA_DC_REQUEST_NOT_FOUND_CHART,
317 + "",
318 "Files not found",
319 EBPF_COMMON_UNITS_FILES,
320 NETDATA_DIRECTORY_CACHE_SUBMENU,
@@ -1139,22 +1139,22 @@ static void ebpf_send_systemd_dc_charts()
1139 continue;
1140 }
1141
1142 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_DC_HIT_CHART);
1142 + ebpf_write_begin_chart(ect->name, NETDATA_DC_HIT_CHART, "");
1143 write_chart_dimension("percentage", (long long) ect->publish_dc.ratio);
1144 ebpf_write_end_chart();
1145
1146 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_DC_REFERENCE_CHART);
1146 + ebpf_write_begin_chart(ect->name, NETDATA_DC_REFERENCE_CHART, "");
1147 write_chart_dimension("files", (long long) ect->publish_dc.cache_access);
1148 ebpf_write_end_chart();
1149
1150 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_DC_REQUEST_NOT_CACHE_CHART);
1150 + ebpf_write_begin_chart(ect->name, NETDATA_DC_REQUEST_NOT_CACHE_CHART, "");
1151 value = (collected_number) (!ect->publish_dc.cache_access) ? 0 :
1152 (long long )ect->publish_dc.curr.file_system - (long long)ect->publish_dc.prev.file_system;
1153 ect->publish_dc.prev.file_system = ect->publish_dc.curr.file_system;
1154 write_chart_dimension("files", (long long) value);
1155 ebpf_write_end_chart();
1156
1157 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_DC_REQUEST_NOT_FOUND_CHART);
1157 + ebpf_write_begin_chart(ect->name, NETDATA_DC_REQUEST_NOT_FOUND_CHART, "");
1158 value = (collected_number) (!ect->publish_dc.cache_access) ? 0 :
1159 (long long)ect->publish_dc.curr.not_found - (long long)ect->publish_dc.prev.not_found;
1160
src/collectors/ebpf.plugin/ebpf_dcstat.h
+4 -4
@@ -27,10 +27,10 @@
27 #define NETDATA_CGROUP_DC_NOT_CACHE_CONTEXT "cgroup.dc_not_cache"
28 #define NETDATA_CGROUP_DC_NOT_FOUND_CONTEXT "cgroup.dc_not_found"
29
30 -#define NETDATA_SYSTEMD_DC_HIT_RATIO_CONTEXT "systemd.services.dc_ratio"
31 -#define NETDATA_SYSTEMD_DC_REFERENCE_CONTEXT "systemd.services.dc_reference"
32 -#define NETDATA_SYSTEMD_DC_NOT_CACHE_CONTEXT "systemd.services.dc_not_cache"
33 -#define NETDATA_SYSTEMD_DC_NOT_FOUND_CONTEXT "systemd.services.dc_not_found"
30 +#define NETDATA_SYSTEMD_DC_HIT_RATIO_CONTEXT "systemd.service.dc_ratio"
31 +#define NETDATA_SYSTEMD_DC_REFERENCE_CONTEXT "systemd.service.dc_reference"
32 +#define NETDATA_SYSTEMD_DC_NOT_CACHE_CONTEXT "systemd.service.dc_not_cache"
33 +#define NETDATA_SYSTEMD_DC_NOT_FOUND_CONTEXT "systemd.service.dc_not_found"
34
35 // ARAL name
36 #define NETDATA_EBPF_DCSTAT_ARAL_NAME "ebpf_dcstat"
src/collectors/ebpf.plugin/ebpf_fd.c
+12 -12
@@ -365,9 +365,9 @@ static void ebpf_obsolete_specific_fd_charts(char *type, ebpf_module_t *em);
365 */
366 static void ebpf_obsolete_fd_services(ebpf_module_t *em, char *id)
367 {
368 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
369 - id,
368 + ebpf_write_chart_obsolete(id,
369 NETDATA_SYSCALL_APPS_FILE_OPEN,
370 + "",
371 "Number of open files",
372 EBPF_COMMON_UNITS_CALLS_PER_SEC,
373 NETDATA_APPS_FILE_GROUP,
@@ -377,9 +377,9 @@ static void ebpf_obsolete_fd_services(ebpf_module_t *em, char *id)
377 em->update_every);
378
379 if (em->mode < MODE_ENTRY) {
380 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
381 - id,
380 + ebpf_write_chart_obsolete(id,
381 NETDATA_SYSCALL_APPS_FILE_OPEN_ERROR,
382 + "",
383 "Fails to open files",
384 EBPF_COMMON_UNITS_CALLS_PER_SEC,
385 NETDATA_APPS_FILE_GROUP,
@@ -389,9 +389,9 @@ static void ebpf_obsolete_fd_services(ebpf_module_t *em, char *id)
389 em->update_every);
390 }
391
392 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
393 - id,
392 + ebpf_write_chart_obsolete(id,
393 NETDATA_SYSCALL_APPS_FILE_CLOSED,
394 + "",
395 "Files closed",
396 EBPF_COMMON_UNITS_CALLS_PER_SEC,
397 NETDATA_APPS_FILE_GROUP,
@@ -401,9 +401,9 @@ static void ebpf_obsolete_fd_services(ebpf_module_t *em, char *id)
401 em->update_every);
402
403 if (em->mode < MODE_ENTRY) {
404 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
405 - id,
404 + ebpf_write_chart_obsolete(id,
405 NETDATA_SYSCALL_APPS_FILE_CLOSE_ERROR,
406 + "",
407 "Fails to close files",
408 EBPF_COMMON_UNITS_CALLS_PER_SEC,
409 NETDATA_APPS_FILE_GROUP,
@@ -1120,22 +1120,22 @@ static void ebpf_send_systemd_fd_charts(ebpf_module_t *em)
1120 continue;
1121 }
1122
1123 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_FILE_OPEN);
1123 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_FILE_OPEN, "");
1124 write_chart_dimension("calls", ect->publish_systemd_fd.open_call);
1125 ebpf_write_end_chart();
1126
1127 if (em->mode < MODE_ENTRY) {
1128 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_FILE_OPEN_ERROR);
1128 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_FILE_OPEN_ERROR, "");
1129 write_chart_dimension("calls", ect->publish_systemd_fd.open_err);
1130 ebpf_write_end_chart();
1131 }
1132
1133 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_FILE_CLOSED);
1133 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_FILE_CLOSED, "");
1134 write_chart_dimension("calls", ect->publish_systemd_fd.close_call);
1135 ebpf_write_end_chart();
1136
1137 if (em->mode < MODE_ENTRY) {
1138 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_FILE_CLOSE_ERROR);
1138 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_FILE_CLOSE_ERROR, "");
1139 write_chart_dimension("calls", ect->publish_systemd_fd.close_err);
1140 ebpf_write_end_chart();
1141 }
src/collectors/ebpf.plugin/ebpf_fd.h
+4 -4
@@ -32,10 +32,10 @@
32 #define NETDATA_CGROUP_FD_CLOSE_CONTEXT "cgroup.fd_close"
33 #define NETDATA_CGROUP_FD_CLOSE_ERR_CONTEXT "cgroup.fd_close_error"
34
35 -#define NETDATA_SYSTEMD_FD_OPEN_CONTEXT "systemd.services.fd_open"
36 -#define NETDATA_SYSTEMD_FD_OPEN_ERR_CONTEXT "systemd.services.fd_open_error"
37 -#define NETDATA_SYSTEMD_FD_CLOSE_CONTEXT "systemd.services.fd_close"
38 -#define NETDATA_SYSTEMD_FD_CLOSE_ERR_CONTEXT "systemd.services.fd_close_error"
35 +#define NETDATA_SYSTEMD_FD_OPEN_CONTEXT "systemd.service.fd_open"
36 +#define NETDATA_SYSTEMD_FD_OPEN_ERR_CONTEXT "systemd.service.fd_open_error"
37 +#define NETDATA_SYSTEMD_FD_CLOSE_CONTEXT "systemd.service.fd_close"
38 +#define NETDATA_SYSTEMD_FD_CLOSE_ERR_CONTEXT "systemd.service.fd_close_error"
39
40 // ARAL name
41 #define NETDATA_EBPF_FD_ARAL_NAME "ebpf_fd"
src/collectors/ebpf.plugin/ebpf_filesystem.c
+8 -5
@@ -499,11 +499,14 @@ int ebpf_filesystem_initialize_ebpf_data(ebpf_module_t *em)
499 if (!efp->fs_obj) {
500 em->info.thread_name = saved_name;
501 em->kernels = kernels;
502 + pthread_mutex_unlock(&lock);
503 + return -1;
504 + } else if (ebpf_fs_load_and_attach(em->maps, efp->fs_obj,
505 + efp->functions, NULL)) {
506 + em->info.thread_name = saved_name;
507 + em->kernels = kernels;
508 + pthread_mutex_unlock(&lock);
509 return -1;
503 - } else {
504 - if (ebpf_fs_load_and_attach(em->maps, efp->fs_obj,
505 - efp->functions, NULL))
506 - return -1;
510 }
511 }
512 #endif
@@ -756,8 +759,8 @@ static void ebpf_filesystem_exit(void *pptr)
759 pthread_mutex_lock(&lock);
760 ebpf_obsolete_filesystem_global(em);
761
759 - pthread_mutex_unlock(&lock);
762 fflush(stdout);
763 + pthread_mutex_unlock(&lock);
764 }
765
766 ebpf_filesystem_cleanup_ebpf_data();
src/collectors/ebpf.plugin/ebpf_oomkill.c
+4 -4
@@ -55,9 +55,9 @@ static void ebpf_obsolete_specific_oomkill_charts(char *type, int update_every);
55 */
56 static void ebpf_obsolete_oomkill_services(ebpf_module_t *em, char *id)
57 {
58 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
59 - id,
58 + ebpf_write_chart_obsolete(id,
59 NETDATA_OOMKILL_CHART,
60 + "",
61 "Systemd service OOM kills.",
62 EBPF_OOMKILL_UNIT_KILLS,
63 NETDATA_EBPF_MEMORY_GROUP,
@@ -242,7 +242,7 @@ static void ebpf_create_systemd_oomkill_charts(int update_every)
242 .charttype = NETDATA_EBPF_CHART_TYPE_STACKED,
243 .order = 20191,
244 .algorithm = EBPF_CHART_ALGORITHM_INCREMENTAL,
245 - .context = NETDATA_CGROUP_OOMKILLS_CONTEXT,
245 + .context = NETDATA_SYSTEMD_OOMKILLS_CONTEXT,
246 .module = NETDATA_EBPF_MODULE_NAME_OOMKILL,
247 .update_every = 0,
248 .suffix = NETDATA_OOMKILL_CHART,
@@ -276,7 +276,7 @@ static void ebpf_send_systemd_oomkill_charts()
276 if (unlikely(!(ect->flags & NETDATA_EBPF_SERVICES_HAS_OOMKILL_CHART)) ) {
277 continue;
278 }
279 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_OOMKILL_CHART);
279 + ebpf_write_begin_chart(ect->name, NETDATA_OOMKILL_CHART, "");
280 write_chart_dimension(oomkill_publish_aggregated.dimension, (long long) ect->oomkill);
281 ect->oomkill = 0;
282 ebpf_write_end_chart();
src/collectors/ebpf.plugin/ebpf_oomkill.h
+1
@@ -28,6 +28,7 @@ typedef uint8_t oomkill_ebpf_val_t;
28
29 // Contexts
30 #define NETDATA_CGROUP_OOMKILLS_CONTEXT "cgroup.oomkills"
31 +#define NETDATA_SYSTEMD_OOMKILLS_CONTEXT "systemd.oomkills"
32
33 extern struct config oomkill_config;
34 void *ebpf_oomkill_thread(void *ptr);
src/collectors/ebpf.plugin/ebpf_process.c
+15 -15
@@ -445,9 +445,9 @@ static void ebpf_obsolete_specific_process_charts(char *type, ebpf_module_t *em)
445 */
446 static void ebpf_obsolete_process_services(ebpf_module_t *em, char *id)
447 {
448 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
449 - id,
448 + ebpf_write_chart_obsolete(id,
449 NETDATA_SYSCALL_APPS_TASK_PROCESS,
450 + "",
451 "Process started",
452 EBPF_COMMON_UNITS_CALLS_PER_SEC,
453 NETDATA_APPS_PROCESS_GROUP,
@@ -456,9 +456,9 @@ static void ebpf_obsolete_process_services(ebpf_module_t *em, char *id)
456 20065,
457 em->update_every);
458
459 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
460 - id,
459 + ebpf_write_chart_obsolete(id,
460 NETDATA_SYSCALL_APPS_TASK_THREAD,
461 + "",
462 "Threads started",
463 EBPF_COMMON_UNITS_CALLS_PER_SEC,
464 NETDATA_APPS_PROCESS_GROUP,
@@ -467,9 +467,9 @@ static void ebpf_obsolete_process_services(ebpf_module_t *em, char *id)
467 20066,
468 em->update_every);
469
470 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
471 - id,
470 + ebpf_write_chart_obsolete(id,
471 NETDATA_SYSCALL_APPS_TASK_CLOSE,
472 + "",
473 "Tasks starts exit process.",
474 EBPF_COMMON_UNITS_CALLS_PER_SEC,
475 NETDATA_APPS_PROCESS_GROUP,
@@ -478,9 +478,9 @@ static void ebpf_obsolete_process_services(ebpf_module_t *em, char *id)
478 20067,
479 em->update_every);
480
481 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
482 - id,
481 + ebpf_write_chart_obsolete(id,
482 NETDATA_SYSCALL_APPS_TASK_EXIT,
483 + "",
484 "Tasks closed",
485 EBPF_COMMON_UNITS_CALLS_PER_SEC,
486 NETDATA_APPS_PROCESS_GROUP,
@@ -490,9 +490,9 @@ static void ebpf_obsolete_process_services(ebpf_module_t *em, char *id)
490 em->update_every);
491
492 if (em->mode < MODE_ENTRY) {
493 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
494 - id,
493 + ebpf_write_chart_obsolete(id,
494 NETDATA_SYSCALL_APPS_TASK_ERROR,
495 + "",
496 "Errors to create process or threads.",
497 EBPF_COMMON_UNITS_CALLS_PER_SEC,
498 NETDATA_APPS_PROCESS_GROUP,
@@ -1031,24 +1031,24 @@ static void ebpf_send_systemd_process_charts(ebpf_module_t *em)
1031 continue;
1032 }
1033
1034 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_TASK_PROCESS);
1034 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_TASK_PROCESS, "");
1035 write_chart_dimension("calls", ect->publish_systemd_ps.create_process);
1036 ebpf_write_end_chart();
1037
1038 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_TASK_THREAD);
1038 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_TASK_THREAD, "");
1039 write_chart_dimension("calls", ect->publish_systemd_ps.create_thread);
1040 ebpf_write_end_chart();
1041
1042 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_TASK_EXIT);
1042 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_TASK_EXIT, "");
1043 write_chart_dimension("calls", ect->publish_systemd_ps.exit_call);
1044 ebpf_write_end_chart();
1045
1046 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_TASK_CLOSE);
1046 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_TASK_CLOSE, "");
1047 write_chart_dimension("calls", ect->publish_systemd_ps.release_call);
1048 ebpf_write_end_chart();
1049
1050 if (em->mode < MODE_ENTRY) {
1051 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_TASK_ERROR);
1051 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_TASK_ERROR, "");
1052 write_chart_dimension("calls", ect->publish_systemd_ps.task_err);
1053 ebpf_write_end_chart();
1054 }
src/collectors/ebpf.plugin/ebpf_process.h
+5 -5
@@ -33,11 +33,11 @@
33 #define NETDATA_CGROUP_PROCESS_EXIT_CONTEXT "cgroup.task_exit"
34 #define NETDATA_CGROUP_PROCESS_ERROR_CONTEXT "cgroup.task_error"
35
36 -#define NETDATA_SYSTEMD_PROCESS_CREATE_CONTEXT "systemd.services.process_create"
37 -#define NETDATA_SYSTEMD_THREAD_CREATE_CONTEXT "systemd.services.thread_create"
38 -#define NETDATA_SYSTEMD_PROCESS_CLOSE_CONTEXT "systemd.services.task_close"
39 -#define NETDATA_SYSTEMD_PROCESS_EXIT_CONTEXT "systemd.services.task_exit"
40 -#define NETDATA_SYSTEMD_PROCESS_ERROR_CONTEXT "systemd.services.task_error"
36 +#define NETDATA_SYSTEMD_PROCESS_CREATE_CONTEXT "systemd.service.process_create"
37 +#define NETDATA_SYSTEMD_THREAD_CREATE_CONTEXT "systemd.service.thread_create"
38 +#define NETDATA_SYSTEMD_PROCESS_CLOSE_CONTEXT "systemd.service.task_close"
39 +#define NETDATA_SYSTEMD_PROCESS_EXIT_CONTEXT "systemd.service.task_exit"
40 +#define NETDATA_SYSTEMD_PROCESS_ERROR_CONTEXT "systemd.service.task_error"
41
42 #define NETDATA_EBPF_CGROUP_UPDATE 30
43
src/collectors/ebpf.plugin/ebpf_shm.c
+12 -12
@@ -287,9 +287,9 @@ static void ebpf_obsolete_specific_shm_charts(char *type, int update_every);
287 */
288 static void ebpf_obsolete_shm_services(ebpf_module_t *em, char *id)
289 {
290 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
291 - id,
290 + ebpf_write_chart_obsolete(id,
291 NETDATA_SHMGET_CHART,
292 + "",
293 "Calls to syscall shmget(2).",
294 EBPF_COMMON_UNITS_CALLS_PER_SEC,
295 NETDATA_APPS_IPC_SHM_GROUP,
@@ -298,9 +298,9 @@ static void ebpf_obsolete_shm_services(ebpf_module_t *em, char *id)
298 20191,
299 em->update_every);
300
301 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
302 - id,
301 + ebpf_write_chart_obsolete(id,
302 NETDATA_SHMAT_CHART,
303 + "",
304 "Calls to syscall shmat(2).",
305 EBPF_COMMON_UNITS_CALLS_PER_SEC,
306 NETDATA_APPS_IPC_SHM_GROUP,
@@ -309,9 +309,9 @@ static void ebpf_obsolete_shm_services(ebpf_module_t *em, char *id)
309 20192,
310 em->update_every);
311
312 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
313 - id,
312 + ebpf_write_chart_obsolete(id,
313 NETDATA_SHMDT_CHART,
314 + "",
315 "Calls to syscall shmdt(2).",
316 EBPF_COMMON_UNITS_CALLS_PER_SEC,
317 NETDATA_APPS_IPC_SHM_GROUP,
@@ -320,9 +320,9 @@ static void ebpf_obsolete_shm_services(ebpf_module_t *em, char *id)
320 20193,
321 em->update_every);
322
323 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
324 - id,
323 + ebpf_write_chart_obsolete(id,
324 NETDATA_SHMCTL_CHART,
325 + "",
326 "Calls to syscall shmctl(2).",
327 EBPF_COMMON_UNITS_CALLS_PER_SEC,
328 NETDATA_APPS_IPC_SHM_GROUP,
@@ -941,19 +941,19 @@ static void ebpf_send_systemd_shm_charts()
941 continue;
942 }
943
944 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SHMGET_CHART);
944 + ebpf_write_begin_chart(ect->name, NETDATA_SHMGET_CHART, "");
945 write_chart_dimension("calls", (long long)ect->publish_shm.get);
946 ebpf_write_end_chart();
947
948 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SHMAT_CHART);
948 + ebpf_write_begin_chart(ect->name, NETDATA_SHMAT_CHART, "");
949 write_chart_dimension("calls", (long long)ect->publish_shm.at);
950 ebpf_write_end_chart();
951
952 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SHMDT_CHART);
952 + ebpf_write_begin_chart(ect->name, NETDATA_SHMDT_CHART, "");
953 write_chart_dimension("calls", (long long)ect->publish_shm.dt);
954 ebpf_write_end_chart();
955
956 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SHMCTL_CHART);
956 + ebpf_write_begin_chart(ect->name, NETDATA_SHMCTL_CHART, "");
957 write_chart_dimension("calls", (long long)ect->publish_shm.ctl);
958 ebpf_write_end_chart();
959 }
src/collectors/ebpf.plugin/ebpf_shm.h
+4 -4
@@ -23,10 +23,10 @@
23 #define NETDATA_CGROUP_SHM_DT_CONTEXT "cgroup.shmdt"
24 #define NETDATA_CGROUP_SHM_CTL_CONTEXT "cgroup.shmctl"
25
26 -#define NETDATA_SYSTEMD_SHM_GET_CONTEXT "systemd.services.shmget"
27 -#define NETDATA_SYSTEMD_SHM_AT_CONTEXT "systemd.services.shmat"
28 -#define NETDATA_SYSTEMD_SHM_DT_CONTEXT "systemd.services.shmdt"
29 -#define NETDATA_SYSTEMD_SHM_CTL_CONTEXT "systemd.services.shmctl"
26 +#define NETDATA_SYSTEMD_SHM_GET_CONTEXT "systemd.service.shmget"
27 +#define NETDATA_SYSTEMD_SHM_AT_CONTEXT "systemd.service.shmat"
28 +#define NETDATA_SYSTEMD_SHM_DT_CONTEXT "systemd.service.shmdt"
29 +#define NETDATA_SYSTEMD_SHM_CTL_CONTEXT "systemd.service.shmctl"
30
31 typedef struct netdata_publish_shm {
32 uint64_t ct;
src/collectors/ebpf.plugin/ebpf_socket.c
+217 -271
@@ -509,9 +509,9 @@ static void ebpf_socket_free(ebpf_module_t *em )
509 static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
510 {
511 int order = 20080;
512 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
513 - id,
514 - NETDATA_NET_APPS_CONNECTION_TCP_V4,
512 + ebpf_write_chart_obsolete(id,
513 + NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4,
514 + "",
515 "Calls to tcp_v4_connection",
516 EBPF_COMMON_UNITS_CONNECTIONS,
517 NETDATA_APPS_NET_GROUP,
@@ -521,9 +521,9 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
521 update_every);
522
523 if (tcp_v6_connect_address.type == 'T') {
524 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
525 - id,
526 - NETDATA_NET_APPS_CONNECTION_TCP_V6,
524 + ebpf_write_chart_obsolete(id,
525 + NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6,
526 + "",
527 "Calls to tcp_v6_connection",
528 EBPF_COMMON_UNITS_CONNECTIONS,
529 NETDATA_APPS_NET_GROUP,
@@ -533,31 +533,20 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
533 update_every);
534 }
535
536 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
537 - id,
538 - NETDATA_NET_APPS_BANDWIDTH_RECV,
539 - "Bits received",
540 - EBPF_COMMON_UNITS_KILOBITS,
541 - NETDATA_APPS_NET_GROUP,
542 - NETDATA_EBPF_CHART_TYPE_STACKED,
543 - NETDATA_SERVICES_SOCKET_BYTES_RECV_CONTEXT,
544 - order++,
545 - update_every);
546 -
547 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
548 - id,
549 - NETDATA_NET_APPS_BANDWIDTH_SENT,
550 - "Bits sent",
536 + ebpf_write_chart_obsolete(id,
537 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH,
538 + "",
539 + "Bandwidth.",
540 EBPF_COMMON_UNITS_KILOBITS,
541 NETDATA_APPS_NET_GROUP,
542 NETDATA_EBPF_CHART_TYPE_STACKED,
554 - NETDATA_SERVICES_SOCKET_BYTES_SEND_CONTEXT,
543 + NETDATA_SERVICES_SOCKET_TCP_BANDWIDTH_CONTEXT,
544 order++,
545 update_every);
546
558 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
559 - id,
560 - NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS,
547 + ebpf_write_chart_obsolete(id,
548 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS,
549 + "",
550 "Calls to tcp_cleanup_rbuf.",
551 EBPF_COMMON_UNITS_CALLS_PER_SEC,
552 NETDATA_APPS_NET_GROUP,
@@ -566,9 +555,9 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
555 order++,
556 update_every);
557
569 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
570 - id,
571 - NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS,
558 + ebpf_write_chart_obsolete(id,
559 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS,
560 + "",
561 "Calls to tcp_sendmsg.",
562 EBPF_COMMON_UNITS_CALLS_PER_SEC,
563 NETDATA_APPS_NET_GROUP,
@@ -577,9 +566,9 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
566 order++,
567 update_every);
568
580 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
581 - id,
582 - NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT,
569 + ebpf_write_chart_obsolete(id,
570 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT,
571 + "",
572 "Calls to tcp_retransmit",
573 EBPF_COMMON_UNITS_CALLS_PER_SEC,
574 NETDATA_APPS_NET_GROUP,
@@ -588,9 +577,9 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
577 order++,
578 update_every);
579
591 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
592 - id,
593 - NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS,
580 + ebpf_write_chart_obsolete(id,
581 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS,
582 + "",
583 "Calls to udp_sendmsg",
584 EBPF_COMMON_UNITS_CALLS_PER_SEC,
585 NETDATA_APPS_NET_GROUP,
@@ -599,9 +588,9 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
588 order++,
589 update_every);
590
602 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
603 - id,
604 - NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS,
591 + ebpf_write_chart_obsolete(id,
592 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS,
593 + "",
594 "Calls to udp_recvmsg",
595 EBPF_COMMON_UNITS_CALLS_PER_SEC,
596 NETDATA_APPS_NET_GROUP,
@@ -678,23 +667,12 @@ void ebpf_socket_obsolete_apps_charts(struct ebpf_module *em)
667
668 ebpf_write_chart_obsolete(NETDATA_APP_FAMILY,
669 w->clean_name,
681 - "_ebpf_sock_bytes_sent",
682 - "Bits sent.",
683 - EBPF_COMMON_UNITS_KILOBITS,
684 - NETDATA_APPS_NET_GROUP,
685 - NETDATA_EBPF_CHART_TYPE_STACKED,
686 - "app.ebpf_sock_bytes_sent",
687 - order++,
688 - update_every);
689 -
690 - ebpf_write_chart_obsolete(NETDATA_APP_FAMILY,
691 - w->clean_name,
692 - "_ebpf_sock_bytes_received",
693 - "Bits received.",
670 + "_ebpf_sock_bandwidth",
671 + "Bandwidth.",
672 EBPF_COMMON_UNITS_KILOBITS,
673 NETDATA_APPS_NET_GROUP,
674 NETDATA_EBPF_CHART_TYPE_STACKED,
697 - "app.ebpf_sock_bytes_received",
675 + "app.ebpf_sock_total_bandwidth",
676 order++,
677 update_every);
678
@@ -1056,18 +1034,14 @@ void ebpf_socket_send_apps_data()
1034
1035 if (tcp_v6_connect_address.type == 'T') {
1036 ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_call_tcp_v6_connection");
1059 - write_chart_dimension("calls", (collected_number) values->call_tcp_v6_connection);
1037 + write_chart_dimension("connections", (collected_number) values->call_tcp_v6_connection);
1038 ebpf_write_end_chart();
1039 }
1040
1063 - ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_ebpf_sock_bytes_sent");
1041 + ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_ebpf_sock_bandwidth");
1042 // We multiply by 0.008, because we read bytes, but we display bits
1065 - write_chart_dimension("bandwidth", ebpf_socket_bytes2bits(values->bytes_sent));
1066 - ebpf_write_end_chart();
1067 -
1068 - ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_ebpf_sock_bytes_received");
1069 - // We multiply by 0.008, because we read bytes, but we display bits
1070 - write_chart_dimension("bandwidth", ebpf_socket_bytes2bits(values->bytes_received));
1043 + write_chart_dimension("received", ebpf_socket_bytes2bits(values->bytes_received));
1044 + write_chart_dimension("sent", ebpf_socket_bytes2bits(values->bytes_sent));
1045 ebpf_write_end_chart();
1046
1047 ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_ebpf_call_tcp_sendmsg");
@@ -1273,33 +1247,19 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr)
1247
1248 ebpf_write_chart_cmd(NETDATA_APP_FAMILY,
1249 w->clean_name,
1276 - "_ebpf_sock_bytes_sent",
1277 - "Bits sent.",
1278 - EBPF_COMMON_UNITS_KILOBITS,
1279 - NETDATA_APPS_NET_GROUP,
1280 - NETDATA_EBPF_CHART_TYPE_STACKED,
1281 - "app.ebpf_sock_bytes_sent",
1282 - order++,
1283 - update_every,
1284 - NETDATA_EBPF_MODULE_NAME_SOCKET);
1285 - ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO);
1286 - ebpf_commit_label();
1287 - fprintf(stdout, "DIMENSION bandwidth '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
1288 -
1289 - ebpf_write_chart_cmd(NETDATA_APP_FAMILY,
1290 - w->clean_name,
1291 - "_ebpf_sock_bytes_received",
1292 - "Bits received.",
1250 + "_ebpf_sock_bandwidth",
1251 + "Bandwidth.",
1252 EBPF_COMMON_UNITS_KILOBITS,
1253 NETDATA_APPS_NET_GROUP,
1254 NETDATA_EBPF_CHART_TYPE_STACKED,
1296 - "app.ebpf_sock_bytes_received",
1255 + "app.ebpf_sock_total_bandwidth",
1256 order++,
1257 update_every,
1258 NETDATA_EBPF_MODULE_NAME_SOCKET);
1259 ebpf_create_chart_labels("app_group", w->name, RRDLABEL_SRC_AUTO);
1260 ebpf_commit_label();
1302 - fprintf(stdout, "DIMENSION bandwidth '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
1261 + fprintf(stdout, "DIMENSION received '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
1262 + fprintf(stdout, "DIMENSION sent '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
1263
1264 ebpf_write_chart_cmd(NETDATA_APP_FAMILY,
1265 w->clean_name,
@@ -2121,119 +2081,128 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every)
2081 {
2082 int order_basis = 5300;
2083 char *label = (!strncmp(type, "cgroup_", 7)) ? &type[7] : type;
2124 - ebpf_create_chart(type, NETDATA_NET_APPS_CONNECTION_TCP_V4,
2125 - "Calls to tcp_v4_connection",
2126 - EBPF_COMMON_UNITS_CONNECTIONS, NETDATA_CGROUP_NET_GROUP,
2127 - NETDATA_CGROUP_TCP_V4_CONN_CONTEXT,
2128 - NETDATA_EBPF_CHART_TYPE_LINE,
2129 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2130 - ebpf_create_global_dimension,
2131 - &socket_publish_aggregated[NETDATA_IDX_TCP_CONNECTION_V4], 1,
2132 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2084 + ebpf_write_chart_cmd(type,
2085 + NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4,
2086 + "",
2087 + "Calls to tcp_v4_connection",
2088 + EBPF_COMMON_UNITS_CONNECTIONS,
2089 + NETDATA_CGROUP_NET_GROUP,
2090 + NETDATA_EBPF_CHART_TYPE_LINE,
2091 + NETDATA_CGROUP_TCP_V4_CONN_CONTEXT,
2092 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2093 + update_every,
2094 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2095 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2096 ebpf_commit_label();
2097 + fprintf(stdout, "DIMENSION connections '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2098
2099 if (tcp_v6_connect_address.type == 'T') {
2137 - ebpf_create_chart(type,
2138 - NETDATA_NET_APPS_CONNECTION_TCP_V6,
2139 - "Calls to tcp_v6_connection",
2140 - EBPF_COMMON_UNITS_CONNECTIONS,
2141 - NETDATA_CGROUP_NET_GROUP,
2142 - NETDATA_CGROUP_TCP_V6_CONN_CONTEXT,
2143 - NETDATA_EBPF_CHART_TYPE_LINE,
2144 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2145 - ebpf_create_global_dimension,
2146 - &socket_publish_aggregated[NETDATA_IDX_TCP_CONNECTION_V6],
2147 - 1,
2148 - update_every,
2149 - NETDATA_EBPF_MODULE_NAME_SOCKET);
2100 + ebpf_write_chart_cmd(type,
2101 + NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6,
2102 + "",
2103 + "Calls to tcp_v6_connection",
2104 + EBPF_COMMON_UNITS_CONNECTIONS,
2105 + NETDATA_CGROUP_NET_GROUP,
2106 + NETDATA_EBPF_CHART_TYPE_LINE,
2107 + NETDATA_CGROUP_TCP_V6_CONN_CONTEXT,
2108 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2109 + update_every,
2110 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2111 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2112 ebpf_commit_label();
2113 + fprintf(stdout, "DIMENSION connections '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2114 }
2115
2154 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_RECV,
2155 - "Bits received",
2156 - EBPF_COMMON_UNITS_KILOBITS, NETDATA_CGROUP_NET_GROUP,
2157 - NETDATA_CGROUP_SOCKET_BYTES_RECV_CONTEXT,
2158 - NETDATA_EBPF_CHART_TYPE_LINE,
2159 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2160 - ebpf_create_global_dimension,
2161 - &socket_publish_aggregated[NETDATA_IDX_TCP_CLEANUP_RBUF], 1,
2162 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2163 - ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2164 - ebpf_commit_label();
2165 -
2166 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_SENT,
2167 - "Bits sent",
2168 - EBPF_COMMON_UNITS_KILOBITS, NETDATA_CGROUP_NET_GROUP,
2169 - NETDATA_CGROUP_SOCKET_BYTES_SEND_CONTEXT,
2170 - NETDATA_EBPF_CHART_TYPE_LINE,
2171 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2172 - ebpf_create_global_dimension,
2173 - socket_publish_aggregated, 1,
2174 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2116 + ebpf_write_chart_cmd(type,
2117 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH,
2118 + "",
2119 + "Bandwidth.",
2120 + EBPF_COMMON_UNITS_KILOBITS,
2121 + NETDATA_CGROUP_NET_GROUP,
2122 + NETDATA_EBPF_CHART_TYPE_LINE,
2123 + NETDATA_CGROUP_SOCKET_TCP_BANDWIDTH_CONTEXT,
2124 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2125 + update_every,
2126 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2127 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2128 ebpf_commit_label();
2177 -
2178 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS,
2179 - "Calls to tcp_cleanup_rbuf.",
2180 - EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_CGROUP_NET_GROUP,
2181 - NETDATA_CGROUP_SOCKET_TCP_RECV_CONTEXT,
2182 - NETDATA_EBPF_CHART_TYPE_LINE,
2183 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2184 - ebpf_create_global_dimension,
2185 - &socket_publish_aggregated[NETDATA_IDX_TCP_CLEANUP_RBUF], 1,
2186 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2129 + fprintf(stdout, "DIMENSION received '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2130 + fprintf(stdout, "DIMENSION sent '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2131 +
2132 + ebpf_write_chart_cmd(type,
2133 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS,
2134 + "",
2135 + "Calls to tcp_cleanup_rbuf.",
2136 + EBPF_COMMON_UNITS_CALLS_PER_SEC,
2137 + NETDATA_CGROUP_NET_GROUP,
2138 + NETDATA_EBPF_CHART_TYPE_LINE,
2139 + NETDATA_CGROUP_SOCKET_TCP_RECV_CONTEXT,
2140 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2141 + update_every,
2142 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2143 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2144 ebpf_commit_label();
2189 -
2190 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS,
2191 - "Calls to tcp_sendmsg.",
2192 - EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_CGROUP_NET_GROUP,
2193 - NETDATA_CGROUP_SOCKET_TCP_SEND_CONTEXT,
2194 - NETDATA_EBPF_CHART_TYPE_LINE,
2195 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2196 - ebpf_create_global_dimension,
2197 - socket_publish_aggregated, 1,
2198 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2145 + fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2146 +
2147 + ebpf_write_chart_cmd(type,
2148 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS,
2149 + "",
2150 + "Calls to tcp_sendmsg.",
2151 + EBPF_COMMON_UNITS_CALLS_PER_SEC,
2152 + NETDATA_CGROUP_NET_GROUP,
2153 + NETDATA_EBPF_CHART_TYPE_LINE,
2154 + NETDATA_CGROUP_SOCKET_TCP_SEND_CONTEXT,
2155 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2156 + update_every,
2157 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2158 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2159 ebpf_commit_label();
2201 -
2202 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT,
2203 - "Calls to tcp_retransmit.",
2204 - EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_CGROUP_NET_GROUP,
2205 - NETDATA_CGROUP_SOCKET_TCP_RETRANSMIT_CONTEXT,
2206 - NETDATA_EBPF_CHART_TYPE_LINE,
2207 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2208 - ebpf_create_global_dimension,
2209 - &socket_publish_aggregated[NETDATA_IDX_TCP_RETRANSMIT], 1,
2210 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2160 + fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2161 +
2162 + ebpf_write_chart_cmd(type,
2163 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT,
2164 + "",
2165 + "Calls to tcp_retransmit.",
2166 + EBPF_COMMON_UNITS_CALLS_PER_SEC,
2167 + NETDATA_CGROUP_NET_GROUP,
2168 + NETDATA_EBPF_CHART_TYPE_LINE,
2169 + NETDATA_CGROUP_SOCKET_TCP_RETRANSMIT_CONTEXT,
2170 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2171 + update_every,
2172 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2173 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2174 ebpf_commit_label();
2213 -
2214 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS,
2215 - "Calls to udp_sendmsg",
2216 - EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_CGROUP_NET_GROUP,
2217 - NETDATA_CGROUP_SOCKET_UDP_SEND_CONTEXT,
2218 - NETDATA_EBPF_CHART_TYPE_LINE,
2219 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2220 - ebpf_create_global_dimension,
2221 - &socket_publish_aggregated[NETDATA_IDX_UDP_SENDMSG], 1,
2222 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2175 + fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2176 +
2177 + ebpf_write_chart_cmd(type,
2178 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS,
2179 + "",
2180 + "Calls to udp_sendmsg.",
2181 + EBPF_COMMON_UNITS_CALLS_PER_SEC,
2182 + NETDATA_CGROUP_NET_GROUP,
2183 + NETDATA_EBPF_CHART_TYPE_LINE,
2184 + NETDATA_CGROUP_SOCKET_UDP_SEND_CONTEXT,
2185 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2186 + update_every,
2187 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2188 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2189 ebpf_commit_label();
2225 -
2226 - ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS,
2227 - "Calls to udp_recvmsg",
2228 - EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_CGROUP_NET_GROUP,
2229 - NETDATA_CGROUP_SOCKET_UDP_RECV_CONTEXT,
2230 - NETDATA_EBPF_CHART_TYPE_LINE,
2231 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2232 - ebpf_create_global_dimension,
2233 - &socket_publish_aggregated[NETDATA_IDX_UDP_RECVBUF], 1,
2234 - update_every, NETDATA_EBPF_MODULE_NAME_SOCKET);
2190 + fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2191 +
2192 + ebpf_write_chart_cmd(type,
2193 + NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS,
2194 + "",
2195 + "Calls to udp_recvmsg.",
2196 + EBPF_COMMON_UNITS_CALLS_PER_SEC,
2197 + NETDATA_CGROUP_NET_GROUP,
2198 + NETDATA_EBPF_CHART_TYPE_LINE,
2199 + NETDATA_CGROUP_SOCKET_UDP_RECV_CONTEXT,
2200 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2201 + update_every,
2202 + NETDATA_EBPF_MODULE_NAME_SOCKET);
2203 ebpf_create_chart_labels("cgroup_name", label, RRDLABEL_SRC_AUTO);
2204 ebpf_commit_label();
2205 + fprintf(stdout, "DIMENSION calls '' %s 1 1\n", ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX]);
2206 }
2207
2208 /**
@@ -2247,57 +2216,65 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every)
2216 static void ebpf_obsolete_specific_socket_charts(char *type, int update_every)
2217 {
2218 int order_basis = 5300;
2250 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_CONNECTION_TCP_V4, "", "Calls to tcp_v4_connection",
2251 - EBPF_COMMON_UNITS_CONNECTIONS, NETDATA_APPS_NET_GROUP,
2252 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_TCP_V4_CONN_CONTEXT,
2253 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2219 + ebpf_write_chart_obsolete(type,
2220 + NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4,
2221 + "",
2222 + "Calls to tcp_v4_connection",
2223 + EBPF_COMMON_UNITS_CONNECTIONS,
2224 + NETDATA_APPS_NET_GROUP,
2225 + NETDATA_EBPF_CHART_TYPE_LINE,
2226 + NETDATA_CGROUP_TCP_V4_CONN_CONTEXT,
2227 + NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2228 + update_every);
2229
2230 if (tcp_v6_connect_address.type == 'T') {
2231 ebpf_write_chart_obsolete(type,
2257 - NETDATA_NET_APPS_CONNECTION_TCP_V6,
2232 + NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6,
2233 "",
2234 "Calls to tcp_v6_connection",
2235 EBPF_COMMON_UNITS_CONNECTIONS,
2236 NETDATA_APPS_NET_GROUP,
2237 NETDATA_EBPF_CHART_TYPE_LINE,
2263 - NETDATA_SERVICES_SOCKET_TCP_V6_CONN_CONTEXT,
2238 + NETDATA_CGROUP_TCP_V6_CONN_CONTEXT,
2239 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++,
2240 update_every);
2241 }
2242
2268 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_RECV, "", "Bits received",
2269 - EBPF_COMMON_UNITS_KILOBITS, NETDATA_APPS_NET_GROUP,
2270 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_BYTES_RECV_CONTEXT,
2271 - NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2272 -
2273 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_SENT, "","Bits sent",
2243 + ebpf_write_chart_obsolete(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH,
2244 + "",
2245 + "Bandwidth.",
2246 EBPF_COMMON_UNITS_KILOBITS, NETDATA_APPS_NET_GROUP,
2275 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_BYTES_SEND_CONTEXT,
2247 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_SOCKET_TCP_BANDWIDTH_CONTEXT,
2248 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2249
2278 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS, "", "Calls to tcp_cleanup_rbuf.",
2250 + ebpf_write_chart_obsolete(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS, "",
2251 + "Calls to tcp_cleanup_rbuf.",
2252 EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_APPS_NET_GROUP,
2280 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_TCP_RECV_CONTEXT,
2253 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_SOCKET_TCP_RECV_CONTEXT,
2254 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2255
2283 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS, "", "Calls to tcp_sendmsg.",
2256 + ebpf_write_chart_obsolete(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS, "",
2257 + "Calls to tcp_sendmsg.",
2258 EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_APPS_NET_GROUP,
2285 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_TCP_SEND_CONTEXT,
2259 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_SOCKET_TCP_SEND_CONTEXT,
2260 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2261
2288 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT, "", "Calls to tcp_retransmit.",
2262 + ebpf_write_chart_obsolete(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT, "",
2263 + "Calls to tcp_retransmit.",
2264 EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_APPS_NET_GROUP,
2290 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_TCP_RETRANSMIT_CONTEXT,
2265 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_SOCKET_TCP_RETRANSMIT_CONTEXT,
2266 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2267
2293 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS, "", "Calls to udp_sendmsg",
2268 + ebpf_write_chart_obsolete(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS, "",
2269 + "Calls to udp_sendmsg.",
2270 EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_APPS_NET_GROUP,
2295 - NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_UDP_SEND_CONTEXT,
2271 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_SOCKET_UDP_SEND_CONTEXT,
2272 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2273
2298 - ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS, "", "Calls to udp_recvmsg",
2274 + ebpf_write_chart_obsolete(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS, "",
2275 + "Calls to udp_recvmsg.",
2276 EBPF_COMMON_UNITS_CALLS_PER_SEC, NETDATA_APPS_NET_GROUP, NETDATA_EBPF_CHART_TYPE_LINE,
2300 - NETDATA_SERVICES_SOCKET_UDP_RECV_CONTEXT,
2277 + NETDATA_CGROUP_SOCKET_UDP_RECV_CONTEXT,
2278 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
2279 }
2280
@@ -2311,51 +2288,39 @@ static void ebpf_obsolete_specific_socket_charts(char *type, int update_every)
2288 */
2289 static void ebpf_send_specific_socket_data(char *type, ebpf_socket_publish_apps_t *values)
2290 {
2314 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_CONNECTION_TCP_V4, "");
2315 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_CONNECTION_V4].name,
2316 - (long long) values->call_tcp_v4_connection);
2291 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4, "");
2292 + write_chart_dimension("connections", (long long) values->call_tcp_v4_connection);
2293 ebpf_write_end_chart();
2294
2295 if (tcp_v6_connect_address.type == 'T') {
2320 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_CONNECTION_TCP_V6, "");
2321 - write_chart_dimension(
2322 - socket_publish_aggregated[NETDATA_IDX_TCP_CONNECTION_V6].name, (long long)values->call_tcp_v6_connection);
2296 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6, "");
2297 + write_chart_dimension("connections", (long long)values->call_tcp_v6_connection);
2298 ebpf_write_end_chart();
2299 }
2300
2326 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_SENT, "");
2327 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_SENDMSG].name,
2328 - (long long) ebpf_socket_bytes2bits(values->bytes_sent));
2329 - ebpf_write_end_chart();
2330 -
2331 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_RECV, "");
2332 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_CLEANUP_RBUF].name,
2333 - (long long) ebpf_socket_bytes2bits(values->bytes_received));
2301 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH, "");
2302 + write_chart_dimension("received", (long long) ebpf_socket_bytes2bits(values->bytes_received));
2303 + write_chart_dimension("sent", (long long) ebpf_socket_bytes2bits(values->bytes_sent));
2304 ebpf_write_end_chart();
2305
2336 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS, "");
2337 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_SENDMSG].name,
2338 - (long long) values->call_tcp_sent);
2306 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS, "");
2307 + write_chart_dimension("calls", (long long) values->call_tcp_received);
2308 ebpf_write_end_chart();
2309
2341 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS, "");
2342 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_CLEANUP_RBUF].name,
2343 - (long long) values->call_tcp_received);
2310 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS, "");
2311 + write_chart_dimension("calls", (long long) values->call_tcp_sent);
2312 ebpf_write_end_chart();
2313
2346 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT, "");
2347 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_RETRANSMIT].name,
2348 - (long long) values->retransmit);
2314 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT, "");
2315 + write_chart_dimension("calls", (long long) values->retransmit);
2316 ebpf_write_end_chart();
2317
2351 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS, "");
2352 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_UDP_SENDMSG].name,
2353 - (long long) values->call_udp_sent);
2318 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS, "");
2319 + write_chart_dimension("calls", (long long) values->call_udp_sent);
2320 ebpf_write_end_chart();
2321
2356 - ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS, "");
2357 - write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_UDP_RECVBUF].name,
2358 - (long long) values->call_udp_received);
2322 + ebpf_write_begin_chart(type, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS, "");
2323 + write_chart_dimension("calls", (long long) values->call_udp_received);
2324 ebpf_write_end_chart();
2325 }
2326
@@ -2378,8 +2343,8 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2343 .context = NETDATA_SERVICES_SOCKET_TCP_V4_CONN_CONTEXT,
2344 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2345 .update_every = 0,
2381 - .suffix = NETDATA_NET_APPS_CONNECTION_TCP_V4,
2382 - .dimension = EBPF_COMMON_UNITS_CONNECTIONS
2346 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4,
2347 + .dimension = "connections"
2348 };
2349
2350 static ebpf_systemd_args_t data_tcp_v6 = {
@@ -2392,36 +2357,22 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2357 .context = NETDATA_SERVICES_SOCKET_TCP_V6_CONN_CONTEXT,
2358 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2359 .update_every = 0,
2395 - .suffix = NETDATA_NET_APPS_CONNECTION_TCP_V6,
2396 - .dimension = "connection"
2360 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6,
2361 + .dimension = "connections"
2362 };
2363
2399 - static ebpf_systemd_args_t data_bandwith_recv = {
2400 - .title = "Bits received",
2364 + static ebpf_systemd_args_t data_bandwidth = {
2365 + .title = "Bandwidth.",
2366 .units = EBPF_COMMON_UNITS_KILOBITS,
2367 .family = NETDATA_APPS_NET_GROUP,
2368 .charttype = NETDATA_EBPF_CHART_TYPE_STACKED,
2369 .order = 20082,
2370 .algorithm = EBPF_CHART_ALGORITHM_INCREMENTAL,
2406 - .context = NETDATA_SERVICES_SOCKET_BYTES_RECV_CONTEXT,
2371 + .context = NETDATA_SERVICES_SOCKET_TCP_BANDWIDTH_CONTEXT,
2372 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2373 .update_every = 0,
2409 - .suffix = NETDATA_NET_APPS_BANDWIDTH_RECV,
2410 - .dimension = "connection"
2411 - };
2412 -
2413 - static ebpf_systemd_args_t data_bandwith_sent = {
2414 - .title = "Bits sent",
2415 - .units = EBPF_COMMON_UNITS_KILOBITS,
2416 - .family = NETDATA_APPS_NET_GROUP,
2417 - .charttype = NETDATA_EBPF_CHART_TYPE_STACKED,
2418 - .order = 20083,
2419 - .algorithm = EBPF_CHART_ALGORITHM_INCREMENTAL,
2420 - .context = NETDATA_SERVICES_SOCKET_BYTES_SEND_CONTEXT,
2421 - .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2422 - .update_every = 0,
2423 - .suffix = NETDATA_NET_APPS_BANDWIDTH_SENT,
2424 - .dimension = EBPF_COMMON_UNITS_KILOBITS
2374 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH,
2375 + .dimension = "received,sent"
2376 };
2377
2378 static ebpf_systemd_args_t data_tcp_cleanup = {
@@ -2434,7 +2385,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2385 .context = NETDATA_SERVICES_SOCKET_TCP_RECV_CONTEXT,
2386 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2387 .update_every = 0,
2437 - .suffix = NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS,
2388 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS,
2389 .dimension = "calls"
2390 };
2391
@@ -2448,7 +2399,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2399 .context = NETDATA_SERVICES_SOCKET_TCP_SEND_CONTEXT,
2400 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2401 .update_every = 0,
2451 - .suffix = NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS,
2402 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS,
2403 .dimension = "calls"
2404 };
2405
@@ -2462,7 +2413,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2413 .context = NETDATA_SERVICES_SOCKET_TCP_RETRANSMIT_CONTEXT,
2414 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2415 .update_every = 0,
2465 - .suffix = NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT,
2416 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT,
2417 .dimension = "calls"
2418 };
2419
@@ -2476,7 +2427,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2427 .context = NETDATA_SERVICES_SOCKET_UDP_SEND_CONTEXT,
2428 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2429 .update_every = 0,
2479 - .suffix = NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS,
2430 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS,
2431 .dimension = "calls"
2432 };
2433
@@ -2490,13 +2441,13 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2441 .context = NETDATA_SERVICES_SOCKET_UDP_RECV_CONTEXT,
2442 .module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2443 .update_every = 0,
2493 - .suffix = NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS,
2444 + .suffix = NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS,
2445 .dimension = "calls"
2446 };
2447
2448 if (!data_tcp_v4.update_every)
2498 - data_tcp_v4.update_every = data_tcp_v6.update_every = data_bandwith_recv.update_every =
2499 - data_bandwith_sent.update_every = data_tcp_cleanup.update_every = data_tcp_sendmsg.update_every =
2449 + data_tcp_v4.update_every = data_tcp_v6.update_every = data_bandwidth.update_every =
2450 + data_tcp_cleanup.update_every = data_tcp_sendmsg.update_every =
2451 data_tcp_retransmit.update_every = data_udp_send.update_every = data_udp_recv.update_every = update_every;
2452
2453 ebpf_cgroup_target_t *w;
@@ -2504,8 +2455,8 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2455 if (unlikely(!w->systemd || w->flags & NETDATA_EBPF_SERVICES_HAS_SOCKET_CHART))
2456 continue;
2457
2507 - data_tcp_v4.id = data_tcp_v6.id = data_bandwith_recv.id =
2508 - data_bandwith_sent.id = data_tcp_cleanup.id = data_tcp_sendmsg.id =
2458 + data_tcp_v4.id = data_tcp_v6.id = data_bandwidth.id =
2459 + data_tcp_cleanup.id = data_tcp_sendmsg.id =
2460 data_tcp_retransmit.id = data_udp_send.id = data_udp_recv.id = w->name;
2461
2462 ebpf_create_charts_on_systemd(&data_tcp_v4);
@@ -2513,8 +2464,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2464 ebpf_create_charts_on_systemd(&data_tcp_v6);
2465 }
2466
2516 - ebpf_create_charts_on_systemd(&data_bandwith_recv);
2517 - ebpf_create_charts_on_systemd(&data_bandwith_sent);
2467 + ebpf_create_charts_on_systemd(&data_bandwidth);
2468
2469 ebpf_create_charts_on_systemd(&data_tcp_cleanup);
2470
@@ -2543,41 +2493,38 @@ static void ebpf_send_systemd_socket_charts()
2493 continue;
2494 }
2495
2546 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_CONNECTION_TCP_V4);
2496 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4, "");
2497 write_chart_dimension("connections", (long long)ect->publish_socket.call_tcp_v4_connection);
2498 ebpf_write_end_chart();
2499
2500 if (tcp_v6_connect_address.type == 'T') {
2551 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_CONNECTION_TCP_V6);
2501 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6, "");
2502 write_chart_dimension("connections", (long long)ect->publish_socket.call_tcp_v6_connection);
2503 ebpf_write_end_chart();
2504 }
2505
2556 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_SENT);
2557 - write_chart_dimension("bits", (long long)ect->publish_socket.bytes_sent);
2506 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH, "");
2507 + write_chart_dimension("received", (long long)ect->publish_socket.bytes_received);
2508 + write_chart_dimension("sent", (long long)ect->publish_socket.bytes_sent);
2509 ebpf_write_end_chart();
2510
2560 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_RECV);
2561 - write_chart_dimension("bits", (long long)ect->publish_socket.bytes_received);
2562 - ebpf_write_end_chart();
2563 -
2564 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS);
2511 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS, "");
2512 write_chart_dimension("calls", (long long)ect->publish_socket.call_tcp_sent);
2513 ebpf_write_end_chart();
2514
2568 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS);
2515 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS, "");
2516 write_chart_dimension("calls", (long long)ect->publish_socket.call_tcp_received);
2517 ebpf_write_end_chart();
2518
2572 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT);
2519 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT, "");
2520 write_chart_dimension("calls", (long long)ect->publish_socket.retransmit);
2521 ebpf_write_end_chart();
2522
2576 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS);
2523 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS, "");
2524 write_chart_dimension("calls", (long long)ect->publish_socket.call_udp_sent);
2525 ebpf_write_end_chart();
2526
2580 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS);
2527 + ebpf_write_begin_chart(ect->name, NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS, "");
2528 write_chart_dimension("calls", (long long)ect->publish_socket.call_udp_received);
2529 ebpf_write_end_chart();
2530 }
@@ -2917,7 +2864,6 @@ void *ebpf_socket_thread(void *ptr)
2864 ebpf_adjust_thread_load(em, default_btf);
2865 #endif
2866 if (ebpf_socket_load_bpf(em)) {
2920 - pthread_mutex_unlock(&lock);
2867 goto endsocket;
2868 }
2869
src/collectors/ebpf.plugin/ebpf_socket.h
+18 -21
@@ -112,16 +112,15 @@ typedef enum ebpf_socket_idx {
112 #define NETDATA_UDP_FUNCTION_BITS "total_udp_bandwidth"
113 #define NETDATA_UDP_FUNCTION_ERROR "udp_error"
114
115 -// Charts created on Apps submenu
116 -#define NETDATA_NET_APPS_CONNECTION_TCP_V4 "outbound_conn_v4"
117 -#define NETDATA_NET_APPS_CONNECTION_TCP_V6 "outbound_conn_v6"
118 -#define NETDATA_NET_APPS_BANDWIDTH_SENT "total_bandwidth_sent"
119 -#define NETDATA_NET_APPS_BANDWIDTH_RECV "total_bandwidth_recv"
120 -#define NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS "bandwidth_tcp_send"
121 -#define NETDATA_NET_APPS_BANDWIDTH_TCP_RECV_CALLS "bandwidth_tcp_recv"
122 -#define NETDATA_NET_APPS_BANDWIDTH_TCP_RETRANSMIT "bandwidth_tcp_retransmit"
123 -#define NETDATA_NET_APPS_BANDWIDTH_UDP_SEND_CALLS "bandwidth_udp_send"
124 -#define NETDATA_NET_APPS_BANDWIDTH_UDP_RECV_CALLS "bandwidth_udp_recv"
115 +// Charts created (id or suffix)
116 +#define NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V4 "outbound_conn_v4"
117 +#define NETDATA_SOCK_ID_OR_SUFFIX_CONNECTION_TCP_V6 "outbound_conn_v6"
118 +#define NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH "total_bandwidth"
119 +#define NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_SEND_CALLS "bandwidth_tcp_send"
120 +#define NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RECV_CALLS "bandwidth_tcp_recv"
121 +#define NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_TCP_RETRANSMIT "bandwidth_tcp_retransmit"
122 +#define NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_SEND_CALLS "bandwidth_udp_send"
123 +#define NETDATA_SOCK_ID_OR_SUFFIX_BANDWIDTH_UDP_RECV_CALLS "bandwidth_udp_recv"
124
125 // Port range
126 #define NETDATA_MINIMUM_PORT_VALUE 1
@@ -137,23 +136,21 @@ typedef enum ebpf_socket_idx {
136 // Contexts
137 #define NETDATA_CGROUP_TCP_V4_CONN_CONTEXT "cgroup.net_conn_ipv4"
138 #define NETDATA_CGROUP_TCP_V6_CONN_CONTEXT "cgroup.net_conn_ipv6"
140 -#define NETDATA_CGROUP_SOCKET_BYTES_RECV_CONTEXT "cgroup.net_bytes_recv"
141 -#define NETDATA_CGROUP_SOCKET_BYTES_SEND_CONTEXT "cgroup.net_bytes_send"
139 +#define NETDATA_CGROUP_SOCKET_TCP_BANDWIDTH_CONTEXT "cgroup.net_total_bandwidth"
140 #define NETDATA_CGROUP_SOCKET_TCP_RECV_CONTEXT "cgroup.net_tcp_recv"
141 #define NETDATA_CGROUP_SOCKET_TCP_SEND_CONTEXT "cgroup.net_tcp_send"
142 #define NETDATA_CGROUP_SOCKET_TCP_RETRANSMIT_CONTEXT "cgroup.net_retransmit"
143 #define NETDATA_CGROUP_SOCKET_UDP_RECV_CONTEXT "cgroup.net_udp_recv"
144 #define NETDATA_CGROUP_SOCKET_UDP_SEND_CONTEXT "cgroup.net_udp_send"
145
148 -#define NETDATA_SERVICES_SOCKET_TCP_V4_CONN_CONTEXT "systemd.services.net_conn_ipv4"
149 -#define NETDATA_SERVICES_SOCKET_TCP_V6_CONN_CONTEXT "systemd.services.net_conn_ipv6"
150 -#define NETDATA_SERVICES_SOCKET_BYTES_RECV_CONTEXT "systemd.services.net_bytes_recv"
151 -#define NETDATA_SERVICES_SOCKET_BYTES_SEND_CONTEXT "systemd.services.net_bytes_send"
152 -#define NETDATA_SERVICES_SOCKET_TCP_RECV_CONTEXT "systemd.services.net_tcp_recv"
153 -#define NETDATA_SERVICES_SOCKET_TCP_SEND_CONTEXT "systemd.services.net_tcp_send"
154 -#define NETDATA_SERVICES_SOCKET_TCP_RETRANSMIT_CONTEXT "systemd.services.net_retransmit"
155 -#define NETDATA_SERVICES_SOCKET_UDP_RECV_CONTEXT "systemd.services.net_udp_recv"
156 -#define NETDATA_SERVICES_SOCKET_UDP_SEND_CONTEXT "systemd.services.net_udp_send"
146 +#define NETDATA_SERVICES_SOCKET_TCP_V4_CONN_CONTEXT "systemd.service.net_conn_ipv4"
147 +#define NETDATA_SERVICES_SOCKET_TCP_V6_CONN_CONTEXT "systemd.service.net_conn_ipv6"
148 +#define NETDATA_SERVICES_SOCKET_TCP_BANDWIDTH_CONTEXT "systemd.service.net_total_bandwidth"
149 +#define NETDATA_SERVICES_SOCKET_TCP_RECV_CONTEXT "systemd.service.net_tcp_recv"
150 +#define NETDATA_SERVICES_SOCKET_TCP_SEND_CONTEXT "systemd.service.net_tcp_send"
151 +#define NETDATA_SERVICES_SOCKET_TCP_RETRANSMIT_CONTEXT "systemd.service.net_retransmit"
152 +#define NETDATA_SERVICES_SOCKET_UDP_RECV_CONTEXT "systemd.service.net_udp_recv"
153 +#define NETDATA_SERVICES_SOCKET_UDP_SEND_CONTEXT "systemd.service.net_udp_send"
154
155 // ARAL name
156 #define NETDATA_EBPF_SOCKET_ARAL_NAME "ebpf_socket"
src/collectors/ebpf.plugin/ebpf_swap.c
+6 -6
@@ -274,9 +274,9 @@ static void ebpf_obsolete_specific_swap_charts(char *type, int update_every);
274 */
275 static void ebpf_obsolete_swap_services(ebpf_module_t *em, char *id)
276 {
277 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
278 - id,
277 + ebpf_write_chart_obsolete(id,
278 NETDATA_MEM_SWAP_READ_CHART,
279 + "",
280 "Calls to function swap_readpage.",
281 EBPF_COMMON_UNITS_CALLS_PER_SEC,
282 NETDATA_SYSTEM_SWAP_SUBMENU,
@@ -285,9 +285,9 @@ static void ebpf_obsolete_swap_services(ebpf_module_t *em, char *id)
285 20191,
286 em->update_every);
287
288 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
289 - id,
288 + ebpf_write_chart_obsolete(id,
289 NETDATA_MEM_SWAP_WRITE_CHART,
290 + "",
291 "Calls to function swap_writepage.",
292 EBPF_COMMON_UNITS_CALLS_PER_SEC,
293 NETDATA_SYSTEM_SWAP_SUBMENU,
@@ -722,11 +722,11 @@ static void ebpf_send_systemd_swap_charts()
722 continue;
723 }
724
725 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_MEM_SWAP_READ_CHART);
725 + ebpf_write_begin_chart(ect->name, NETDATA_MEM_SWAP_READ_CHART, "");
726 write_chart_dimension("calls", (long long) ect->publish_systemd_swap.read);
727 ebpf_write_end_chart();
728
729 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_MEM_SWAP_WRITE_CHART);
729 + ebpf_write_begin_chart(ect->name, NETDATA_MEM_SWAP_WRITE_CHART, "");
730 write_chart_dimension("calls", (long long) ect->publish_systemd_swap.write);
731 ebpf_write_end_chart();
732 }
src/collectors/ebpf.plugin/ebpf_swap.h
+2 -2
@@ -21,8 +21,8 @@
21 // Contexts
22 #define NETDATA_CGROUP_SWAP_READ_CONTEXT "cgroup.swap_read"
23 #define NETDATA_CGROUP_SWAP_WRITE_CONTEXT "cgroup.swap_write"
24 -#define NETDATA_SYSTEMD_SWAP_READ_CONTEXT "systemd.services.swap_read"
25 -#define NETDATA_SYSTEMD_SWAP_WRITE_CONTEXT "systemd.services.swap_write"
24 +#define NETDATA_SYSTEMD_SWAP_READ_CONTEXT "systemd.service.swap_read"
25 +#define NETDATA_SYSTEMD_SWAP_WRITE_CONTEXT "systemd.service.swap_write"
26
27 typedef struct netdata_publish_swap {
28 uint64_t ct;
src/collectors/ebpf.plugin/ebpf_vfs.c
+39 -39
@@ -396,9 +396,9 @@ static void ebpf_obsolete_specific_vfs_charts(char *type, ebpf_module_t *em);
396 */
397 static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
398 {
399 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
400 - id,
399 + ebpf_write_chart_obsolete(id,
400 NETDATA_SYSCALL_APPS_FILE_DELETED,
401 + "",
402 "Files deleted",
403 EBPF_COMMON_UNITS_CALLS_PER_SEC,
404 NETDATA_VFS_GROUP,
@@ -407,9 +407,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
407 20065,
408 em->update_every);
409
410 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
411 - id,
410 + ebpf_write_chart_obsolete(id,
411 NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS,
412 + "",
413 "Write to disk",
414 EBPF_COMMON_UNITS_CALLS_PER_SEC,
415 NETDATA_VFS_GROUP,
@@ -419,9 +419,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
419 em->update_every);
420
421 if (em->mode < MODE_ENTRY) {
422 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
423 - id,
422 + ebpf_write_chart_obsolete(id,
423 NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS_ERROR,
424 + "",
425 "Fails to write",
426 EBPF_COMMON_UNITS_CALLS_PER_SEC,
427 NETDATA_VFS_GROUP,
@@ -431,9 +431,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
431 em->update_every);
432 }
433
434 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
435 - id,
434 + ebpf_write_chart_obsolete(id,
435 NETDATA_SYSCALL_APPS_VFS_READ_CALLS,
436 + "",
437 "Read from disk",
438 EBPF_COMMON_UNITS_CALLS_PER_SEC,
439 NETDATA_VFS_GROUP,
@@ -443,9 +443,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
443 em->update_every);
444
445 if (em->mode < MODE_ENTRY) {
446 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
447 - id,
446 + ebpf_write_chart_obsolete(id,
447 NETDATA_SYSCALL_APPS_VFS_READ_CALLS_ERROR,
448 + "",
449 "Fails to read",
450 EBPF_COMMON_UNITS_CALLS_PER_SEC,
451 NETDATA_VFS_GROUP,
@@ -455,9 +455,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
455 em->update_every);
456 }
457
458 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
459 - id,
458 + ebpf_write_chart_obsolete(id,
459 NETDATA_SYSCALL_APPS_VFS_WRITE_BYTES,
460 + "",
461 "Bytes written on disk",
462 EBPF_COMMON_UNITS_BYTES,
463 NETDATA_VFS_GROUP,
@@ -466,9 +466,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
466 20070,
467 em->update_every);
468
469 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
470 - id,
469 + ebpf_write_chart_obsolete(id,
470 NETDATA_SYSCALL_APPS_VFS_READ_BYTES,
471 + "",
472 "Bytes read from disk",
473 EBPF_COMMON_UNITS_BYTES,
474 NETDATA_VFS_GROUP,
@@ -477,9 +477,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
477 20071,
478 em->update_every);
479
480 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
481 - id,
480 + ebpf_write_chart_obsolete(id,
481 NETDATA_SYSCALL_APPS_VFS_FSYNC,
482 + "",
483 "Calls to vfs_fsync.",
484 EBPF_COMMON_UNITS_CALLS_PER_SEC,
485 NETDATA_VFS_GROUP,
@@ -489,9 +489,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
489 em->update_every);
490
491 if (em->mode < MODE_ENTRY) {
492 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
493 - id,
492 + ebpf_write_chart_obsolete(id,
493 NETDATA_SYSCALL_APPS_VFS_FSYNC_CALLS_ERROR,
494 + "",
495 "Sync error",
496 EBPF_COMMON_UNITS_CALLS_PER_SEC,
497 NETDATA_VFS_GROUP,
@@ -501,9 +501,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
501 em->update_every);
502 }
503
504 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
505 - id,
504 + ebpf_write_chart_obsolete(id,
505 NETDATA_SYSCALL_APPS_VFS_OPEN,
506 + "",
507 "Calls to vfs_open.",
508 EBPF_COMMON_UNITS_CALLS_PER_SEC,
509 NETDATA_VFS_GROUP,
@@ -513,9 +513,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
513 em->update_every);
514
515 if (em->mode < MODE_ENTRY) {
516 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
517 - id,
516 + ebpf_write_chart_obsolete(id,
517 NETDATA_SYSCALL_APPS_VFS_OPEN_CALLS_ERROR,
518 + "",
519 "Open error",
520 EBPF_COMMON_UNITS_CALLS_PER_SEC,
521 NETDATA_VFS_GROUP,
@@ -525,9 +525,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
525 em->update_every);
526 }
527
528 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
529 - id,
528 + ebpf_write_chart_obsolete(id,
529 NETDATA_SYSCALL_APPS_VFS_CREATE,
530 + "",
531 "Calls to vfs_create.",
532 EBPF_COMMON_UNITS_CALLS_PER_SEC,
533 NETDATA_VFS_GROUP,
@@ -537,9 +537,9 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
537 em->update_every);
538
539 if (em->mode < MODE_ENTRY) {
540 - ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
541 - id,
540 + ebpf_write_chart_obsolete(id,
541 NETDATA_SYSCALL_APPS_VFS_CREATE_CALLS_ERROR,
542 + "",
543 "Create error",
544 EBPF_COMMON_UNITS_CALLS_PER_SEC,
545 NETDATA_VFS_GROUP,
@@ -1888,70 +1888,70 @@ static void ebpf_send_systemd_vfs_charts(ebpf_module_t *em)
1888 continue;
1889 }
1890
1891 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_FILE_DELETED);
1891 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_FILE_DELETED, "");
1892 write_chart_dimension("calls", ect->publish_systemd_vfs.unlink_call);
1893 ebpf_write_end_chart();
1894
1895 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS);
1895 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS, "");
1896 write_chart_dimension("calls", ect->publish_systemd_vfs.write_call +
1897 ect->publish_systemd_vfs.writev_call);
1898 ebpf_write_end_chart();
1899
1900 if (em->mode < MODE_ENTRY) {
1901 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS_ERROR);
1901 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS_ERROR, "");
1902 write_chart_dimension("calls", ect->publish_systemd_vfs.write_err +
1903 ect->publish_systemd_vfs.writev_err);
1904 ebpf_write_end_chart();
1905 }
1906
1907 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_READ_CALLS);
1907 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_READ_CALLS, "");
1908 write_chart_dimension("calls", ect->publish_systemd_vfs.read_call +
1909 ect->publish_systemd_vfs.readv_call);
1910 ebpf_write_end_chart();
1911
1912 if (em->mode < MODE_ENTRY) {
1913 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_READ_CALLS_ERROR);
1913 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_READ_CALLS_ERROR, "");
1914 write_chart_dimension("calls", ect->publish_systemd_vfs.read_err +
1915 ect->publish_systemd_vfs.readv_err);
1916 ebpf_write_end_chart();
1917 }
1918
1919 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_WRITE_BYTES);
1919 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_WRITE_BYTES, "");
1920 write_chart_dimension("bytes", ect->publish_systemd_vfs.write_bytes +
1921 ect->publish_systemd_vfs.writev_bytes);
1922 ebpf_write_end_chart();
1923
1924 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_READ_BYTES);
1924 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_READ_BYTES, "");
1925 write_chart_dimension("bytes", ect->publish_systemd_vfs.read_bytes +
1926 ect->publish_systemd_vfs.readv_bytes);
1927 ebpf_write_end_chart();
1928
1929 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_FSYNC);
1929 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_FSYNC, "");
1930 write_chart_dimension("calls", ect->publish_systemd_vfs.fsync_call);
1931 ebpf_write_end_chart();
1932
1933 if (em->mode < MODE_ENTRY) {
1934 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_FSYNC_CALLS_ERROR);
1934 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_FSYNC_CALLS_ERROR, "");
1935 write_chart_dimension("calls", ect->publish_systemd_vfs.fsync_err);
1936 ebpf_write_end_chart();
1937 }
1938
1939 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_OPEN);
1939 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_OPEN, "");
1940 write_chart_dimension("calls", ect->publish_systemd_vfs.open_call);
1941 ebpf_write_end_chart();
1942
1943 if (em->mode < MODE_ENTRY) {
1944 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_OPEN_CALLS_ERROR);
1944 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_OPEN_CALLS_ERROR, "");
1945 write_chart_dimension("calls", ect->publish_systemd_vfs.open_err);
1946 ebpf_write_end_chart();
1947 }
1948
1949 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_CREATE);
1949 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_CREATE, "");
1950 write_chart_dimension("calls", ect->publish_systemd_vfs.create_call);
1951 ebpf_write_end_chart();
1952
1953 if (em->mode < MODE_ENTRY) {
1954 - ebpf_write_begin_chart(NETDATA_SERVICE_FAMILY, ect->name, NETDATA_SYSCALL_APPS_VFS_CREATE_CALLS_ERROR);
1954 + ebpf_write_begin_chart(ect->name, NETDATA_SYSCALL_APPS_VFS_CREATE_CALLS_ERROR, "");
1955 write_chart_dimension("calls", ect->publish_systemd_vfs.create_err);
1956 ebpf_write_end_chart();
1957 }
src/collectors/ebpf.plugin/ebpf_vfs.h
+13 -13
@@ -55,19 +55,19 @@
55 #define NETDATA_CGROUP_VFS_FSYNC_CONTEXT "cgroup.vfs_fsync"
56 #define NETDATA_CGROUP_VFS_FSYNC_ERROR_CONTEXT "cgroup.vfs_fsync_error"
57
58 -#define NETDATA_SYSTEMD_VFS_UNLINK_CONTEXT "systemd.services.vfs_unlink"
59 -#define NETDATA_SYSTEMD_VFS_WRITE_CONTEXT "systemd.services.vfs_write"
60 -#define NETDATA_SYSTEMD_VFS_WRITE_ERROR_CONTEXT "systemd.services.vfs_write_error"
61 -#define NETDATA_SYSTEMD_VFS_READ_CONTEXT "systemd.services.vfs_read"
62 -#define NETDATA_SYSTEMD_VFS_READ_ERROR_CONTEXT "systemd.services.vfs_read_error"
63 -#define NETDATA_SYSTEMD_VFS_WRITE_BYTES_CONTEXT "systemd.services.vfs_write_bytes"
64 -#define NETDATA_SYSTEMD_VFS_READ_BYTES_CONTEXT "systemd.services.vfs_read_bytes"
65 -#define NETDATA_SYSTEMD_VFS_CREATE_CONTEXT "systemd.services.vfs_create"
66 -#define NETDATA_SYSTEMD_VFS_CREATE_ERROR_CONTEXT "systemd.services.vfs_create_error"
67 -#define NETDATA_SYSTEMD_VFS_OPEN_CONTEXT "systemd.services.vfs_open"
68 -#define NETDATA_SYSTEMD_VFS_OPEN_ERROR_CONTEXT "systemd.services.vfs_open_error"
69 -#define NETDATA_SYSTEMD_VFS_FSYNC_CONTEXT "systemd.services.vfs_fsync"
70 -#define NETDATA_SYSTEMD_VFS_FSYNC_ERROR_CONTEXT "systemd.services.vfs_fsync_error"
58 +#define NETDATA_SYSTEMD_VFS_UNLINK_CONTEXT "systemd.service.vfs_unlink"
59 +#define NETDATA_SYSTEMD_VFS_WRITE_CONTEXT "systemd.service.vfs_write"
60 +#define NETDATA_SYSTEMD_VFS_WRITE_ERROR_CONTEXT "systemd.service.vfs_write_error"
61 +#define NETDATA_SYSTEMD_VFS_READ_CONTEXT "systemd.service.vfs_read"
62 +#define NETDATA_SYSTEMD_VFS_READ_ERROR_CONTEXT "systemd.service.vfs_read_error"
63 +#define NETDATA_SYSTEMD_VFS_WRITE_BYTES_CONTEXT "systemd.service.vfs_write_bytes"
64 +#define NETDATA_SYSTEMD_VFS_READ_BYTES_CONTEXT "systemd.service.vfs_read_bytes"
65 +#define NETDATA_SYSTEMD_VFS_CREATE_CONTEXT "systemd.service.vfs_create"
66 +#define NETDATA_SYSTEMD_VFS_CREATE_ERROR_CONTEXT "systemd.service.vfs_create_error"
67 +#define NETDATA_SYSTEMD_VFS_OPEN_CONTEXT "systemd.service.vfs_open"
68 +#define NETDATA_SYSTEMD_VFS_OPEN_ERROR_CONTEXT "systemd.service.vfs_open_error"
69 +#define NETDATA_SYSTEMD_VFS_FSYNC_CONTEXT "systemd.service.vfs_fsync"
70 +#define NETDATA_SYSTEMD_VFS_FSYNC_ERROR_CONTEXT "systemd.service.vfs_fsync_error"
71
72 // ARAL name
73 #define NETDATA_EBPF_VFS_ARAL_NAME "ebpf_vfs"
src/collectors/ebpf.plugin/metadata.yaml
+27 -36
@@ -1739,18 +1739,13 @@ modules:
1739 chart_type: stacked
1740 dimensions:
1741 - name: connections
1742 - - name: app.ebpf_sock_bytes_sent
1742 + - name: app.ebpf_sock_total_bandwidth
1743 description: Bytes sent
1744 unit: "kilobits/s"
1745 chart_type: stacked
1746 dimensions:
1747 - - name: bandwidth
1748 - - name: app.ebpf_sock_bytes_received
1749 - description: bytes received
1750 - unit: "kilobits/s"
1751 - chart_type: stacked
1752 - dimensions:
1753 - - name: bandwidth
1747 + - name: received
1748 + - name: sent
1749 - name: app.ebpf_call_tcp_sendmsg
1750 description: Calls for tcp_sendmsg
1751 unit: "calls/s"
@@ -1790,103 +1785,99 @@ modules:
1785 unit: "connections/s"
1786 chart_type: line
1787 dimensions:
1793 - - name: connected_v4
1788 + - name: connections
1789 - name: cgroup.net_conn_ipv6
1790 description: Calls to tcp_v6_connection
1791 unit: "connections/s"
1792 chart_type: line
1793 dimensions:
1799 - - name: connected_v6
1800 - - name: cgroup.net_bytes_recv
1794 + - name: connections
1795 + - name: cgroup.net_total_bandwidth
1796 description: Bytes received
1802 - unit: "calls/s"
1797 + unit: "kilobits/s"
1798 chart_type: line
1799 dimensions:
1800 - name: received
1806 - - name: cgroup.net_bytes_sent
1807 - description: Bytes sent
1808 - unit: "calls/s"
1809 - chart_type: line
1810 - dimensions:
1801 - name: sent
1802 - name: cgroup.net_tcp_recv
1803 description: Calls to tcp_cleanup_rbuf.
1804 unit: "calls/s"
1805 chart_type: line
1806 dimensions:
1817 - - name: received
1807 + - name: calls
1808 - name: cgroup.net_tcp_send
1809 description: Calls to tcp_sendmsg.
1810 unit: "calls/s"
1811 chart_type: line
1812 dimensions:
1823 - - name: sent
1813 + - name: calls
1814 - name: cgroup.net_retransmit
1815 description: Calls to tcp_retransmit.
1816 unit: "calls/s"
1817 chart_type: line
1818 dimensions:
1829 - - name: retransmitted
1819 + - name: calls
1820 - name: cgroup.net_udp_send
1821 description: Calls to udp_sendmsg
1822 unit: "calls/s"
1823 chart_type: line
1824 dimensions:
1835 - - name: sent
1825 + - name: calls
1826 - name: cgroup.net_udp_recv
1827 description: Calls to udp_recvmsg
1828 unit: "calls/s"
1829 chart_type: line
1830 dimensions:
1841 - - name: received
1831 + - name: calls
1832 + - name: services.net_conn_ipv4
1833 + description: Calls to tcp_v4_connection
1834 + unit: "connections/s"
1835 + chart_type: stacked
1836 + dimensions:
1837 + - name: connections
1838 - name: services.net_conn_ipv6
1839 description: Calls to tcp_v6_connection
1840 unit: "connections/s"
1841 chart_type: stacked
1842 dimensions:
1847 - - name: a dimension per systemd service
1848 - - name: services.net_bytes_recv
1843 + - name: connections
1844 + - name: services.net_total_bandwidth
1845 description: Bytes received
1846 unit: "kilobits/s"
1847 chart_type: stacked
1848 dimensions:
1853 - - name: a dimension per systemd service
1854 - - name: services.net_bytes_sent
1855 - description: Bytes sent
1856 - unit: "kilobits/s"
1857 - chart_type: stacked
1858 - dimensions:
1859 - - name: a dimension per systemd service
1849 + - name: received
1850 + - name: sent
1851 - name: services.net_tcp_recv
1852 description: Calls to tcp_cleanup_rbuf.
1853 unit: "calls/s"
1854 chart_type: stacked
1855 dimensions:
1865 - - name: a dimension per systemd service
1856 + - name: calls
1857 - name: services.net_tcp_send
1858 description: Calls to tcp_sendmsg.
1859 unit: "calls/s"
1860 chart_type: stacked
1861 dimensions:
1871 - - name: a dimension per systemd service
1862 + - name: calls
1863 - name: services.net_tcp_retransmit
1864 description: Calls to tcp_retransmit
1865 unit: "calls/s"
1866 chart_type: stacked
1867 dimensions:
1877 - - name: a dimension per systemd service
1868 + - name: calls
1869 - name: services.net_udp_send
1870 description: Calls to udp_sendmsg
1871 unit: "calls/s"
1872 chart_type: stacked
1873 dimensions:
1883 - - name: a dimension per systemd service
1874 + - name: calls
1875 - name: services.net_udp_recv
1876 description: Calls to udp_recvmsg
1877 unit: "calls/s"
1878 chart_type: stacked
1879 dimensions:
1889 - - name: a dimension per systemd service
1880 + - name: calls
1881 - meta:
1882 plugin_name: ebpf.plugin
1883 module_name: dcstat