@cryptotaxi247 / netdata-1 / commits / 721e754fd

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,