Sockets VFS (context update) (#17830)
thiagoftsm committed
Jun 6, 2024 at 12:58 UTC
721e754fdcd9913d6bd853de97767658e405e9bd
2 files changed
+156
-161
src/collectors/ebpf.plugin/ebpf_socket.c
+55
-42
@@ -536,7 +536,7 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
536
ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
537
id,
538
NETDATA_NET_APPS_BANDWIDTH_RECV,
539
- "Bytes received",
539
+ "Bits received",
540
EBPF_COMMON_UNITS_KILOBITS,
541
NETDATA_APPS_NET_GROUP,
542
NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -547,7 +547,7 @@ static void ebpf_obsolete_systemd_socket_charts(int update_every, char *id)
547
ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
548
id,
549
NETDATA_NET_APPS_BANDWIDTH_SENT,
550
- "Bytes sent",
550
+ "Bits sent",
551
EBPF_COMMON_UNITS_KILOBITS,
552
NETDATA_APPS_NET_GROUP,
553
NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -679,7 +679,7 @@ void ebpf_socket_obsolete_apps_charts(struct ebpf_module *em)
679
ebpf_write_chart_obsolete(NETDATA_APP_FAMILY,
680
w->clean_name,
681
"_ebpf_sock_bytes_sent",
682
- "Bytes sent.",
682
+ "Bits sent.",
683
EBPF_COMMON_UNITS_KILOBITS,
684
NETDATA_APPS_NET_GROUP,
685
NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -690,7 +690,7 @@ void ebpf_socket_obsolete_apps_charts(struct ebpf_module *em)
690
ebpf_write_chart_obsolete(NETDATA_APP_FAMILY,
691
w->clean_name,
692
"_ebpf_sock_bytes_received",
693
- "Bytes received.",
693
+ "Bits received.",
694
EBPF_COMMON_UNITS_KILOBITS,
695
NETDATA_APPS_NET_GROUP,
696
NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -775,7 +775,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
775
EBPF_COMMON_UNITS_CONNECTIONS,
776
NETDATA_SOCKET_KERNEL_FUNCTIONS,
777
NETDATA_EBPF_CHART_TYPE_LINE,
778
- NULL,
778
+ "ip.inbound_conn",
779
order++,
780
em->update_every);
781
@@ -786,7 +786,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
786
EBPF_COMMON_UNITS_CONNECTIONS,
787
NETDATA_SOCKET_KERNEL_FUNCTIONS,
788
NETDATA_EBPF_CHART_TYPE_LINE,
789
- NULL,
789
+ "ip.tcp_outbound_conn",
790
order++,
791
em->update_every);
792
@@ -798,7 +798,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
798
EBPF_COMMON_UNITS_CALLS_PER_SEC,
799
NETDATA_SOCKET_KERNEL_FUNCTIONS,
800
NETDATA_EBPF_CHART_TYPE_LINE,
801
- NULL,
801
+ "ip.tcp_functions",
802
order++,
803
em->update_every);
804
@@ -809,7 +809,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
809
EBPF_COMMON_UNITS_KILOBITS,
810
NETDATA_SOCKET_KERNEL_FUNCTIONS,
811
NETDATA_EBPF_CHART_TYPE_LINE,
812
- NULL,
812
+ "ip.total_tcp_bandwidth",
813
order++,
814
em->update_every);
815
@@ -821,7 +821,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
821
EBPF_COMMON_UNITS_CALLS_PER_SEC,
822
NETDATA_SOCKET_KERNEL_FUNCTIONS,
823
NETDATA_EBPF_CHART_TYPE_LINE,
824
- NULL,
824
+ "ip.tcp_error",
825
order++,
826
em->update_every);
827
}
@@ -833,7 +833,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
833
EBPF_COMMON_UNITS_CALLS_PER_SEC,
834
NETDATA_SOCKET_KERNEL_FUNCTIONS,
835
NETDATA_EBPF_CHART_TYPE_LINE,
836
- NULL,
836
+ "ip.tcp_retransmit",
837
order++,
838
em->update_every);
839
@@ -844,7 +844,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
844
EBPF_COMMON_UNITS_CALLS_PER_SEC,
845
NETDATA_SOCKET_KERNEL_FUNCTIONS,
846
NETDATA_EBPF_CHART_TYPE_LINE,
847
- NULL,
847
+ "ip.udp_functions",
848
order++,
849
em->update_every);
850
@@ -855,7 +855,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
855
EBPF_COMMON_UNITS_KILOBITS,
856
NETDATA_SOCKET_KERNEL_FUNCTIONS,
857
NETDATA_EBPF_CHART_TYPE_LINE,
858
- NULL,
858
+ "ip.total_udp_bandwidth",
859
order++,
860
em->update_every);
861
@@ -867,7 +867,7 @@ static void ebpf_socket_obsolete_global_charts(ebpf_module_t *em)
867
EBPF_COMMON_UNITS_CALLS_PER_SEC,
868
NETDATA_SOCKET_KERNEL_FUNCTIONS,
869
NETDATA_EBPF_CHART_TYPE_LINE,
870
- NULL,
870
+ "ip.udp_error",
871
order++,
872
em->update_every);
873
}
@@ -962,6 +962,19 @@ static void ebpf_update_global_publish(
962
udp->read = (long)publish[4].nbyte;
963
}
964
965
+/**
966
+ * Socket Bytes 2 bits
967
+ *
968
+ * Convert data read from kernel ring to bits
969
+ *
970
+ * @param value data read from kernel ring
971
+ *
972
+ * @return
973
+ */
974
+static inline collected_number ebpf_socket_bytes2bits(uint64_t value) {
975
+ return (collected_number) (value* 8/BITS_IN_A_KILOBIT);
976
+}
977
+
978
/**
979
* Send Global Inbound connection
980
*
@@ -1006,8 +1019,8 @@ static void ebpf_socket_send_data(ebpf_module_t *em)
1019
// so we need to multiply by 8 to convert for the final value.
1020
write_count_chart(NETDATA_TCP_FUNCTION_COUNT, NETDATA_EBPF_IP_FAMILY, socket_publish_aggregated, 3);
1021
write_io_chart(NETDATA_TCP_FUNCTION_BITS, NETDATA_EBPF_IP_FAMILY, socket_id_names[0],
1009
- common_tcp.read * 8/BITS_IN_A_KILOBIT, socket_id_names[1],
1010
- common_tcp.write * 8/BITS_IN_A_KILOBIT);
1022
+ ebpf_socket_bytes2bits(common_tcp.read), socket_id_names[1],
1023
+ ebpf_socket_bytes2bits(common_tcp.write));
1024
if (em->mode < MODE_ENTRY) {
1025
write_err_chart(NETDATA_TCP_FUNCTION_ERROR, NETDATA_EBPF_IP_FAMILY, socket_publish_aggregated, 2);
1026
}
@@ -1017,8 +1030,8 @@ static void ebpf_socket_send_data(ebpf_module_t *em)
1030
write_count_chart(NETDATA_UDP_FUNCTION_COUNT, NETDATA_EBPF_IP_FAMILY,
1031
&socket_publish_aggregated[NETDATA_IDX_UDP_RECVBUF],2);
1032
write_io_chart(NETDATA_UDP_FUNCTION_BITS, NETDATA_EBPF_IP_FAMILY,
1020
- socket_id_names[3], (long long)common_udp.read * 8/BITS_IN_A_KILOBIT,
1021
- socket_id_names[4], (long long)common_udp.write * 8/BITS_IN_A_KILOBIT);
1033
+ socket_id_names[3], ebpf_socket_bytes2bits(common_udp.read),
1034
+ socket_id_names[4], ebpf_socket_bytes2bits(common_udp.write));
1035
if (em->mode < MODE_ENTRY) {
1036
write_err_chart(NETDATA_UDP_FUNCTION_ERROR, NETDATA_EBPF_IP_FAMILY,
1037
&socket_publish_aggregated[NETDATA_UDP_START], 2);
@@ -1049,12 +1062,12 @@ void ebpf_socket_send_apps_data()
1062
1063
ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_ebpf_sock_bytes_sent");
1064
// We multiply by 0.008, because we read bytes, but we display bits
1052
- write_chart_dimension("bandwidth", (collected_number) ((values->bytes_sent)*8)/1000);
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
1057
- write_chart_dimension("bandwidth", (collected_number) ((values->bytes_received)*8)/1000);
1070
+ write_chart_dimension("bandwidth", ebpf_socket_bytes2bits(values->bytes_received));
1071
ebpf_write_end_chart();
1072
1073
ebpf_write_begin_chart(NETDATA_APP_FAMILY, w->clean_name, "_ebpf_call_tcp_sendmsg");
@@ -1101,7 +1114,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1114
"Inbound connections.",
1115
EBPF_COMMON_UNITS_CONNECTIONS,
1116
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1104
- NULL,
1117
+ "ip.inbound_conn",
1118
NETDATA_EBPF_CHART_TYPE_LINE,
1119
order++,
1120
ebpf_create_global_dimension,
@@ -1113,7 +1126,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1126
"TCP outbound connections.",
1127
EBPF_COMMON_UNITS_CONNECTIONS,
1128
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1116
- NULL,
1129
+ "ip.tcp_outbound_conn",
1130
NETDATA_EBPF_CHART_TYPE_LINE,
1131
order++,
1132
ebpf_create_global_dimension,
@@ -1126,7 +1139,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1139
"Calls to internal functions",
1140
EBPF_COMMON_UNITS_CALLS_PER_SEC,
1141
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1129
- NULL,
1142
+ "ip.tcp_functions",
1143
NETDATA_EBPF_CHART_TYPE_LINE,
1144
order++,
1145
ebpf_create_global_dimension,
@@ -1136,7 +1149,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1149
ebpf_create_chart(NETDATA_EBPF_IP_FAMILY, NETDATA_TCP_FUNCTION_BITS,
1150
"TCP bandwidth", EBPF_COMMON_UNITS_KILOBITS,
1151
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1139
- NULL,
1152
+ "ip.total_tcp_bandwidth",
1153
NETDATA_EBPF_CHART_TYPE_LINE,
1154
order++,
1155
ebpf_create_global_dimension,
@@ -1149,7 +1162,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1162
"TCP errors",
1163
EBPF_COMMON_UNITS_CALLS_PER_SEC,
1164
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1152
- NULL,
1165
+ "ip.tcp_error",
1166
NETDATA_EBPF_CHART_TYPE_LINE,
1167
order++,
1168
ebpf_create_global_dimension,
@@ -1162,7 +1175,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1175
"Packages retransmitted",
1176
EBPF_COMMON_UNITS_CALLS_PER_SEC,
1177
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1165
- NULL,
1178
+ "ip.tcp_retransmit",
1179
NETDATA_EBPF_CHART_TYPE_LINE,
1180
order++,
1181
ebpf_create_global_dimension,
@@ -1174,7 +1187,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1187
"UDP calls",
1188
EBPF_COMMON_UNITS_CALLS_PER_SEC,
1189
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1177
- NULL,
1190
+ "ip.udp_functions",
1191
NETDATA_EBPF_CHART_TYPE_LINE,
1192
order++,
1193
ebpf_create_global_dimension,
@@ -1184,7 +1197,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1197
ebpf_create_chart(NETDATA_EBPF_IP_FAMILY, NETDATA_UDP_FUNCTION_BITS,
1198
"UDP bandwidth", EBPF_COMMON_UNITS_KILOBITS,
1199
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1187
- NULL,
1200
+ "ip.total_udp_bandwidth",
1201
NETDATA_EBPF_CHART_TYPE_LINE,
1202
order++,
1203
ebpf_create_global_dimension,
@@ -1197,7 +1210,7 @@ static void ebpf_socket_create_global_charts(ebpf_module_t *em)
1210
"UDP errors",
1211
EBPF_COMMON_UNITS_CALLS_PER_SEC,
1212
NETDATA_SOCKET_KERNEL_FUNCTIONS,
1200
- NULL,
1213
+ "ip.udp_error",
1214
NETDATA_EBPF_CHART_TYPE_LINE,
1215
order++,
1216
ebpf_create_global_dimension,
@@ -1261,7 +1274,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr)
1274
ebpf_write_chart_cmd(NETDATA_APP_FAMILY,
1275
w->clean_name,
1276
"_ebpf_sock_bytes_sent",
1264
- "Bytes sent.",
1277
+ "Bits sent.",
1278
EBPF_COMMON_UNITS_KILOBITS,
1279
NETDATA_APPS_NET_GROUP,
1280
NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -1276,7 +1289,7 @@ void ebpf_socket_create_apps_charts(struct ebpf_module *em, void *ptr)
1289
ebpf_write_chart_cmd(NETDATA_APP_FAMILY,
1290
w->clean_name,
1291
"_ebpf_sock_bytes_received",
1279
- "Bytes received.",
1292
+ "Bits received.",
1293
EBPF_COMMON_UNITS_KILOBITS,
1294
NETDATA_APPS_NET_GROUP,
1295
NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -2139,7 +2152,7 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every)
2152
}
2153
2154
ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_RECV,
2142
- "Bytes received",
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,
@@ -2151,7 +2164,7 @@ static void ebpf_create_specific_socket_charts(char *type, int update_every)
2164
ebpf_commit_label();
2165
2166
ebpf_create_chart(type, NETDATA_NET_APPS_BANDWIDTH_SENT,
2154
- "Bytes 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,
@@ -2252,12 +2265,12 @@ static void ebpf_obsolete_specific_socket_charts(char *type, int update_every)
2265
update_every);
2266
}
2267
2255
- ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_RECV, "", "Bytes received",
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
2260
- ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_SENT, "","Bytes sent",
2273
+ ebpf_write_chart_obsolete(type, NETDATA_NET_APPS_BANDWIDTH_SENT, "","Bits sent",
2274
EBPF_COMMON_UNITS_KILOBITS, NETDATA_APPS_NET_GROUP,
2275
NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_SERVICES_SOCKET_BYTES_SEND_CONTEXT,
2276
NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + order_basis++, update_every);
@@ -2312,12 +2325,12 @@ static void ebpf_send_specific_socket_data(char *type, ebpf_socket_publish_apps_
2325
2326
ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_SENT, "");
2327
write_chart_dimension(socket_publish_aggregated[NETDATA_IDX_TCP_SENDMSG].name,
2315
- (long long) values->bytes_sent);
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,
2320
- (long long) values->bytes_received);
2333
+ (long long) ebpf_socket_bytes2bits(values->bytes_received));
2334
ebpf_write_end_chart();
2335
2336
ebpf_write_begin_chart(type, NETDATA_NET_APPS_BANDWIDTH_TCP_SEND_CALLS, "");
@@ -2366,7 +2379,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2379
.module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2380
.update_every = 0,
2381
.suffix = NETDATA_NET_APPS_CONNECTION_TCP_V4,
2369
- .dimension = "connections"
2382
+ .dimension = EBPF_COMMON_UNITS_CONNECTIONS
2383
};
2384
2385
static ebpf_systemd_args_t data_tcp_v6 = {
@@ -2380,11 +2393,11 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2393
.module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2394
.update_every = 0,
2395
.suffix = NETDATA_NET_APPS_CONNECTION_TCP_V6,
2383
- .dimension = "connections"
2396
+ .dimension = "connection"
2397
};
2398
2399
static ebpf_systemd_args_t data_bandwith_recv = {
2387
- .title = "Bytes received",
2400
+ .title = "Bits received",
2401
.units = EBPF_COMMON_UNITS_KILOBITS,
2402
.family = NETDATA_APPS_NET_GROUP,
2403
.charttype = NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -2394,11 +2407,11 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2407
.module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2408
.update_every = 0,
2409
.suffix = NETDATA_NET_APPS_BANDWIDTH_RECV,
2397
- .dimension = "bits"
2410
+ .dimension = "connection"
2411
};
2412
2413
static ebpf_systemd_args_t data_bandwith_sent = {
2401
- .title = "Bytes sent",
2414
+ .title = "Bits sent",
2415
.units = EBPF_COMMON_UNITS_KILOBITS,
2416
.family = NETDATA_APPS_NET_GROUP,
2417
.charttype = NETDATA_EBPF_CHART_TYPE_STACKED,
@@ -2408,7 +2421,7 @@ static void ebpf_create_systemd_socket_charts(int update_every)
2421
.module = NETDATA_EBPF_MODULE_NAME_SOCKET,
2422
.update_every = 0,
2423
.suffix = NETDATA_NET_APPS_BANDWIDTH_SENT,
2411
- .dimension = "bits"
2424
+ .dimension = EBPF_COMMON_UNITS_KILOBITS
2425
};
2426
2427
static ebpf_systemd_args_t data_tcp_cleanup = {
src/collectors/ebpf.plugin/ebpf_vfs.c
+101
-119
@@ -403,7 +403,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
403
EBPF_COMMON_UNITS_CALLS_PER_SEC,
404
NETDATA_VFS_GROUP,
405
NETDATA_EBPF_CHART_TYPE_STACKED,
406
- NULL,
406
+ NETDATA_SYSTEMD_VFS_UNLINK_CONTEXT,
407
20065,
408
em->update_every);
409
@@ -414,7 +414,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
414
EBPF_COMMON_UNITS_CALLS_PER_SEC,
415
NETDATA_VFS_GROUP,
416
NETDATA_EBPF_CHART_TYPE_STACKED,
417
- NULL,
417
+ NETDATA_SYSTEMD_VFS_WRITE_CONTEXT,
418
20066,
419
em->update_every);
420
@@ -426,7 +426,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
426
EBPF_COMMON_UNITS_CALLS_PER_SEC,
427
NETDATA_VFS_GROUP,
428
NETDATA_EBPF_CHART_TYPE_STACKED,
429
- NULL,
429
+ NETDATA_SYSTEMD_VFS_WRITE_ERROR_CONTEXT,
430
20067,
431
em->update_every);
432
}
@@ -438,7 +438,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
438
EBPF_COMMON_UNITS_CALLS_PER_SEC,
439
NETDATA_VFS_GROUP,
440
NETDATA_EBPF_CHART_TYPE_STACKED,
441
- NULL,
441
+ NETDATA_SYSTEMD_VFS_READ_CONTEXT,
442
20068,
443
em->update_every);
444
@@ -450,7 +450,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
450
EBPF_COMMON_UNITS_CALLS_PER_SEC,
451
NETDATA_VFS_GROUP,
452
NETDATA_EBPF_CHART_TYPE_STACKED,
453
- NULL,
453
+ NETDATA_SYSTEMD_VFS_READ_ERROR_CONTEXT,
454
20069,
455
em->update_every);
456
}
@@ -462,7 +462,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
462
EBPF_COMMON_UNITS_BYTES,
463
NETDATA_VFS_GROUP,
464
NETDATA_EBPF_CHART_TYPE_STACKED,
465
- NULL,
465
+ NETDATA_SYSTEMD_VFS_WRITE_BYTES_CONTEXT,
466
20070,
467
em->update_every);
468
@@ -473,7 +473,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
473
EBPF_COMMON_UNITS_BYTES,
474
NETDATA_VFS_GROUP,
475
NETDATA_EBPF_CHART_TYPE_STACKED,
476
- NULL,
476
+ NETDATA_SYSTEMD_VFS_READ_BYTES_CONTEXT,
477
20071,
478
em->update_every);
479
@@ -484,7 +484,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
484
EBPF_COMMON_UNITS_CALLS_PER_SEC,
485
NETDATA_VFS_GROUP,
486
NETDATA_EBPF_CHART_TYPE_STACKED,
487
- NULL,
487
+ NETDATA_SYSTEMD_VFS_FSYNC_CONTEXT,
488
20072,
489
em->update_every);
490
@@ -496,10 +496,11 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
496
EBPF_COMMON_UNITS_CALLS_PER_SEC,
497
NETDATA_VFS_GROUP,
498
NETDATA_EBPF_CHART_TYPE_STACKED,
499
- NULL,
499
+ NETDATA_SYSTEMD_VFS_FSYNC_ERROR_CONTEXT,
500
20073,
501
em->update_every);
502
}
503
+
504
ebpf_write_chart_obsolete(NETDATA_SERVICE_FAMILY,
505
id,
506
NETDATA_SYSCALL_APPS_VFS_OPEN,
@@ -507,7 +508,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
508
EBPF_COMMON_UNITS_CALLS_PER_SEC,
509
NETDATA_VFS_GROUP,
510
NETDATA_EBPF_CHART_TYPE_STACKED,
510
- NULL,
511
+ NETDATA_SYSTEMD_VFS_OPEN_CONTEXT,
512
20074,
513
em->update_every);
514
@@ -519,7 +520,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
520
EBPF_COMMON_UNITS_CALLS_PER_SEC,
521
NETDATA_VFS_GROUP,
522
NETDATA_EBPF_CHART_TYPE_STACKED,
522
- NULL,
523
+ NETDATA_SYSTEMD_VFS_OPEN_ERROR_CONTEXT,
524
20075,
525
em->update_every);
526
}
@@ -531,7 +532,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
532
EBPF_COMMON_UNITS_CALLS_PER_SEC,
533
NETDATA_VFS_GROUP,
534
NETDATA_EBPF_CHART_TYPE_STACKED,
534
- NULL,
535
+ NETDATA_SYSTEMD_VFS_OPEN_ERROR_CONTEXT,
536
20076,
537
em->update_every);
538
@@ -543,7 +544,7 @@ static void ebpf_obsolete_vfs_services(ebpf_module_t *em, char *id)
544
EBPF_COMMON_UNITS_CALLS_PER_SEC,
545
NETDATA_VFS_GROUP,
546
NETDATA_EBPF_CHART_TYPE_STACKED,
546
- NULL,
547
+ NETDATA_SYSTEMD_VFS_CREATE_ERROR_CONTEXT,
548
20077,
549
em->update_every);
550
}
@@ -762,7 +763,7 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
763
EBPF_COMMON_UNITS_CALLS_PER_SEC,
764
NETDATA_VFS_GROUP,
765
NETDATA_EBPF_CHART_TYPE_LINE,
765
- NULL,
766
+ "filesystem.vfs_deleted_objects",
767
NETDATA_CHART_PRIO_FILESYSTEM_VFS_CLEAN,
768
em->update_every);
769
@@ -773,7 +774,7 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
774
EBPF_COMMON_UNITS_CALLS_PER_SEC,
775
NETDATA_VFS_GROUP,
776
NETDATA_EBPF_CHART_TYPE_LINE,
776
- NULL,
777
+ "filesystem.vfs_io",
778
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_COUNT,
779
em->update_every);
780
@@ -784,23 +785,10 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
785
EBPF_COMMON_UNITS_BYTES,
786
NETDATA_VFS_GROUP,
787
NETDATA_EBPF_CHART_TYPE_LINE,
787
- NULL,
788
+ "filesystem.vfs_io_bytes",
789
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_BYTES,
790
em->update_every);
791
791
- if (em->mode < MODE_ENTRY) {
792
- ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
793
- NETDATA_VFS_FILE_ERR_COUNT,
794
- "",
795
- "Fails to write or read",
796
- EBPF_COMMON_UNITS_CALLS_PER_SEC,
797
- NETDATA_VFS_GROUP,
798
- NETDATA_EBPF_CHART_TYPE_LINE,
799
- NULL,
800
- NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EBYTES,
801
- em->update_every);
802
- }
803
-
792
ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
793
NETDATA_VFS_FSYNC,
794
"",
@@ -808,23 +796,10 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
796
EBPF_COMMON_UNITS_CALLS_PER_SEC,
797
NETDATA_VFS_GROUP,
798
NETDATA_EBPF_CHART_TYPE_LINE,
811
- NULL,
799
+ "filesystem.vfs_fsync",
800
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_FSYNC,
801
em->update_every);
802
815
- if (em->mode < MODE_ENTRY) {
816
- ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
817
- NETDATA_VFS_FSYNC_ERR,
818
- "",
819
- "Fails to synchronize",
820
- EBPF_COMMON_UNITS_CALLS_PER_SEC,
821
- NETDATA_VFS_GROUP,
822
- NETDATA_EBPF_CHART_TYPE_LINE,
823
- NULL,
824
- NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EFSYNC,
825
- em->update_every);
826
- }
827
-
803
ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
804
NETDATA_VFS_OPEN,
805
"",
@@ -832,11 +807,33 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
807
EBPF_COMMON_UNITS_CALLS_PER_SEC,
808
NETDATA_VFS_GROUP,
809
NETDATA_EBPF_CHART_TYPE_LINE,
835
- NULL,
810
+ "filesystem.vfs_open",
811
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_OPEN,
812
em->update_every);
813
814
+ ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
815
+ NETDATA_VFS_CREATE,
816
+ "",
817
+ "Calls to vfs_create.",
818
+ EBPF_COMMON_UNITS_CALLS_PER_SEC,
819
+ NETDATA_VFS_GROUP,
820
+ NETDATA_EBPF_CHART_TYPE_LINE,
821
+ "filesystem.vfs_create",
822
+ NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_CREATE,
823
+ em->update_every);
824
+
825
if (em->mode < MODE_ENTRY) {
826
+ ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
827
+ NETDATA_VFS_FILE_ERR_COUNT,
828
+ "",
829
+ "Fails to write or read",
830
+ EBPF_COMMON_UNITS_CALLS_PER_SEC,
831
+ NETDATA_VFS_GROUP,
832
+ NETDATA_EBPF_CHART_TYPE_LINE,
833
+ "filesystem.vfs_io_error",
834
+ NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EBYTES,
835
+ em->update_every);
836
+
837
ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
838
NETDATA_VFS_OPEN_ERR,
839
"",
@@ -844,23 +841,21 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
841
EBPF_COMMON_UNITS_CALLS_PER_SEC,
842
NETDATA_VFS_GROUP,
843
NETDATA_EBPF_CHART_TYPE_LINE,
847
- NULL,
844
+ "filesystem.vfs_open_error",
845
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EOPEN,
846
em->update_every);
850
- }
847
852
- ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
853
- NETDATA_VFS_CREATE,
854
- "",
855
- "Calls to vfs_create.",
856
- EBPF_COMMON_UNITS_CALLS_PER_SEC,
857
- NETDATA_VFS_GROUP,
858
- NETDATA_EBPF_CHART_TYPE_LINE,
859
- NULL,
860
- NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_CREATE,
861
- em->update_every);
848
+ ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
849
+ NETDATA_VFS_FSYNC_ERR,
850
+ "",
851
+ "Fails to synchronize",
852
+ EBPF_COMMON_UNITS_CALLS_PER_SEC,
853
+ NETDATA_VFS_GROUP,
854
+ NETDATA_EBPF_CHART_TYPE_LINE,
855
+ "filesystem.vfs_fsync_error",
856
+ NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EFSYNC,
857
+ em->update_every);
858
863
- if (em->mode < MODE_ENTRY) {
859
ebpf_write_chart_obsolete(NETDATA_FILESYSTEM_FAMILY,
860
NETDATA_VFS_CREATE_ERR,
861
"",
@@ -868,7 +863,7 @@ static void ebpf_obsolete_vfs_global(ebpf_module_t *em)
863
EBPF_COMMON_UNITS_CALLS_PER_SEC,
864
NETDATA_VFS_GROUP,
865
NETDATA_EBPF_CHART_TYPE_LINE,
871
- NULL,
866
+ "filesystem.vfs_create_error",
867
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_ECREATE,
868
em->update_every);
869
}
@@ -1854,30 +1849,23 @@ static void ebpf_create_systemd_vfs_charts(ebpf_module_t *em)
1849
ebpf_create_charts_on_systemd(&data_vfs_unlink);
1850
1851
ebpf_create_charts_on_systemd(&data_vfs_write);
1857
- if (em->mode < MODE_ENTRY) {
1858
- ebpf_create_charts_on_systemd(&data_vfs_write_err);
1859
- }
1852
1853
ebpf_create_charts_on_systemd(&data_vfs_read);
1862
- if (em->mode < MODE_ENTRY) {
1863
- ebpf_create_charts_on_systemd(&data_vfs_read_err);
1864
- }
1854
1855
ebpf_create_charts_on_systemd(&data_vfs_write_bytes);
1856
+
1857
ebpf_create_charts_on_systemd(&data_vfs_read_bytes);
1858
1859
ebpf_create_charts_on_systemd(&data_vfs_fsync);
1870
- if (em->mode < MODE_ENTRY) {
1871
- ebpf_create_charts_on_systemd(&data_vfs_fsync_err);
1872
- }
1860
1861
ebpf_create_charts_on_systemd(&data_vfs_open);
1875
- if (em->mode < MODE_ENTRY) {
1876
- ebpf_create_charts_on_systemd(&data_vfs_open_err);
1877
- }
1862
1863
ebpf_create_charts_on_systemd(&data_vfs_create);
1864
if (em->mode < MODE_ENTRY) {
1865
+ ebpf_create_charts_on_systemd(&data_vfs_write_err);
1866
+ ebpf_create_charts_on_systemd(&data_vfs_read_err);
1867
+ ebpf_create_charts_on_systemd(&data_vfs_fsync_err);
1868
+ ebpf_create_charts_on_systemd(&data_vfs_open_err);
1869
ebpf_create_charts_on_systemd(&data_vfs_create_err);
1870
}
1871
@@ -2149,7 +2137,7 @@ static void vfs_collector(ebpf_module_t *em)
2137
static void ebpf_create_io_chart(char *family, char *name, char *axis, char *web,
2138
int order, int algorithm, int update_every)
2139
{
2152
- printf("CHART %s.%s '' 'Bytes written and read' '%s' '%s' '' line %d %d '' 'ebpf.plugin' 'filesystem'\n",
2140
+ printf("CHART %s.%s '' 'Bytes written and read' '%s' '%s' 'filesystem.vfs_io_bytes' line %d %d '' 'ebpf.plugin' 'filesystem'\n",
2141
family,
2142
name,
2143
axis,
@@ -2181,7 +2169,7 @@ static void ebpf_create_global_charts(ebpf_module_t *em)
2169
"Remove files",
2170
EBPF_COMMON_UNITS_CALLS_PER_SEC,
2171
NETDATA_VFS_GROUP,
2184
- NULL,
2172
+ "filesystem.vfs_deleted_objects",
2173
NETDATA_EBPF_CHART_TYPE_LINE,
2174
NETDATA_CHART_PRIO_FILESYSTEM_VFS_CLEAN,
2175
ebpf_create_global_dimension,
@@ -2193,7 +2181,7 @@ static void ebpf_create_global_charts(ebpf_module_t *em)
2181
"Calls to IO",
2182
EBPF_COMMON_UNITS_CALLS_PER_SEC,
2183
NETDATA_VFS_GROUP,
2196
- NULL,
2184
+ "filesystem.vfs_io",
2185
NETDATA_EBPF_CHART_TYPE_LINE,
2186
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_COUNT,
2187
ebpf_create_global_dimension,
@@ -2206,78 +2194,36 @@ static void ebpf_create_global_charts(ebpf_module_t *em)
2194
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_BYTES,
2195
NETDATA_EBPF_INCREMENTAL_IDX, em->update_every);
2196
2209
- if (em->mode < MODE_ENTRY) {
2210
- ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2211
- NETDATA_VFS_FILE_ERR_COUNT,
2212
- "Fails to write or read",
2213
- EBPF_COMMON_UNITS_CALLS_PER_SEC,
2214
- NETDATA_VFS_GROUP,
2215
- NULL,
2216
- NETDATA_EBPF_CHART_TYPE_LINE,
2217
- NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EBYTES,
2218
- ebpf_create_global_dimension,
2219
- &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_READ],
2220
- 2, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2221
- }
2222
-
2197
ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2198
NETDATA_VFS_FSYNC,
2199
"Calls to vfs_fsync.",
2200
EBPF_COMMON_UNITS_CALLS_PER_SEC,
2201
NETDATA_VFS_GROUP,
2228
- NULL,
2202
+ "filesystem.vfs_fsync",
2203
NETDATA_EBPF_CHART_TYPE_LINE,
2204
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_FSYNC,
2205
ebpf_create_global_dimension,
2206
&vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_FSYNC],
2207
1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2208
2235
- if (em->mode < MODE_ENTRY) {
2236
- ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2237
- NETDATA_VFS_FSYNC_ERR,
2238
- "Fails to synchronize",
2239
- EBPF_COMMON_UNITS_CALLS_PER_SEC,
2240
- NETDATA_VFS_GROUP,
2241
- NULL,
2242
- NETDATA_EBPF_CHART_TYPE_LINE,
2243
- NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EFSYNC,
2244
- ebpf_create_global_dimension,
2245
- &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_FSYNC],
2246
- 1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2247
- }
2248
-
2209
ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2210
NETDATA_VFS_OPEN,
2211
"Calls to vfs_open.",
2212
EBPF_COMMON_UNITS_CALLS_PER_SEC,
2213
NETDATA_VFS_GROUP,
2254
- NULL,
2214
+ "filesystem.vfs_open",
2215
NETDATA_EBPF_CHART_TYPE_LINE,
2216
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_OPEN,
2217
ebpf_create_global_dimension,
2218
&vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_OPEN],
2219
1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2220
2261
- if (em->mode < MODE_ENTRY) {
2262
- ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2263
- NETDATA_VFS_OPEN_ERR,
2264
- "Fails to open a file",
2265
- EBPF_COMMON_UNITS_CALLS_PER_SEC,
2266
- NETDATA_VFS_GROUP,
2267
- NULL,
2268
- NETDATA_EBPF_CHART_TYPE_LINE,
2269
- NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EOPEN,
2270
- ebpf_create_global_dimension,
2271
- &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_OPEN],
2272
- 1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2273
- }
2274
-
2221
ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2222
NETDATA_VFS_CREATE,
2223
"Calls to vfs_create.",
2224
EBPF_COMMON_UNITS_CALLS_PER_SEC,
2225
NETDATA_VFS_GROUP,
2280
- NULL,
2226
+ "filesystem.vfs_create",
2227
NETDATA_EBPF_CHART_TYPE_LINE,
2228
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_CREATE,
2229
ebpf_create_global_dimension,
@@ -2285,12 +2231,48 @@ static void ebpf_create_global_charts(ebpf_module_t *em)
2231
1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2232
2233
if (em->mode < MODE_ENTRY) {
2234
+ ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2235
+ NETDATA_VFS_FILE_ERR_COUNT,
2236
+ "Fails to write or read",
2237
+ EBPF_COMMON_UNITS_CALLS_PER_SEC,
2238
+ NETDATA_VFS_GROUP,
2239
+ "filesystem.vfs_io_error",
2240
+ NETDATA_EBPF_CHART_TYPE_LINE,
2241
+ NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EBYTES,
2242
+ ebpf_create_global_dimension,
2243
+ &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_READ],
2244
+ 2, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2245
+
2246
+ ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2247
+ NETDATA_VFS_FSYNC_ERR,
2248
+ "Fails to synchronize",
2249
+ EBPF_COMMON_UNITS_CALLS_PER_SEC,
2250
+ NETDATA_VFS_GROUP,
2251
+ "filesystem.vfs_fsync_error",
2252
+ NETDATA_EBPF_CHART_TYPE_LINE,
2253
+ NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EFSYNC,
2254
+ ebpf_create_global_dimension,
2255
+ &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_FSYNC],
2256
+ 1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2257
+
2258
+ ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2259
+ NETDATA_VFS_OPEN_ERR,
2260
+ "Fails to open a file",
2261
+ EBPF_COMMON_UNITS_CALLS_PER_SEC,
2262
+ NETDATA_VFS_GROUP,
2263
+ "filesystem.vfs_open_error",
2264
+ NETDATA_EBPF_CHART_TYPE_LINE,
2265
+ NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_EOPEN,
2266
+ ebpf_create_global_dimension,
2267
+ &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_OPEN],
2268
+ 1, em->update_every, NETDATA_EBPF_MODULE_NAME_VFS);
2269
+
2270
ebpf_create_chart(NETDATA_FILESYSTEM_FAMILY,
2271
NETDATA_VFS_CREATE_ERR,
2272
"Fails to create a file.",
2273
EBPF_COMMON_UNITS_CALLS_PER_SEC,
2274
NETDATA_VFS_GROUP,
2293
- NULL,
2275
+ "filesystem.vfs_create_error",
2276
NETDATA_EBPF_CHART_TYPE_LINE,
2277
NETDATA_CHART_PRIO_FILESYSTEM_VFS_IO_ECREATE,
2278
ebpf_create_global_dimension,