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