@cryptotaxi247 / netdata-1 / commits / 9e4ab2b70

fix(ebpf.plugin): add missing chart context for cgroups charts (#12671)

Ilya Mashchenko committed Apr 12, 2022 at 15:01 UTC 9e4ab2b70939044a4ff86dc5fc12746a5643bbe5
4 files changed +35 -20
collectors/ebpf.plugin/ebpf_oomkill.c
+2 -2
@@ -120,7 +120,7 @@ static void ebpf_create_specific_oomkill_charts(char *type, int update_every)
120 {
121 ebpf_create_chart(type, NETDATA_OOMKILL_CHART, "OOM kills. This chart is provided by eBPF plugin.",
122 EBPF_COMMON_DIMENSION_KILLS, NETDATA_EBPF_MEMORY_GROUP,
123 - NULL, NETDATA_EBPF_CHART_TYPE_LINE,
123 + NETDATA_CGROUP_OOMKILLS_CONTEXT, NETDATA_EBPF_CHART_TYPE_LINE,
124 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5600,
125 ebpf_create_global_dimension,
126 &oomkill_publish_aggregated, 1, update_every, NETDATA_EBPF_MODULE_NAME_OOMKILL);
@@ -194,7 +194,7 @@ static void ebpf_obsolete_specific_oomkill_charts(char *type, int update_every)
194 {
195 ebpf_write_chart_obsolete(type, NETDATA_OOMKILL_CHART, "OOM kills. This chart is provided by eBPF plugin.",
196 EBPF_COMMON_DIMENSION_KILLS, NETDATA_EBPF_MEMORY_GROUP,
197 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
197 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_OOMKILLS_CONTEXT,
198 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5600, update_every);
199 }
200
collectors/ebpf.plugin/ebpf_oomkill.h
+3
@@ -22,6 +22,9 @@ typedef uint8_t oomkill_ebpf_val_t;
22
23 #define NETDATA_OOMKILL_CHART "oomkills"
24
25 +// Contexts
26 +#define NETDATA_CGROUP_OOMKILLS_CONTEXT "cgroup.oomkills"
27 +
28 extern struct config oomkill_config;
29 extern void *ebpf_oomkill_thread(void *ptr);
30 extern void ebpf_oomkill_create_apps_charts(struct ebpf_module *em, void *ptr);
collectors/ebpf.plugin/ebpf_vfs.c
+18 -18
@@ -670,42 +670,42 @@ static void ebpf_create_specific_vfs_charts(char *type, ebpf_module_t *em)
670 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
671
672 ebpf_create_chart(type, NETDATA_SYSCALL_APPS_VFS_FSYNC, "Calls for <code>vfs_fsync</code>",
673 - EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NULL,
673 + EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NETDATA_CGROUP_VFS_FSYNC_CONTEXT,
674 NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5507,
675 ebpf_create_global_dimension, &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_FSYNC],
676 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
677
678 if (em->mode < MODE_ENTRY) {
679 ebpf_create_chart(type, NETDATA_SYSCALL_APPS_VFS_FSYNC_CALLS_ERROR, "Sync error",
680 - EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NULL,
680 + EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NETDATA_CGROUP_VFS_FSYNC_ERROR_CONTEXT,
681 NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5508,
682 ebpf_create_global_dimension, &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_FSYNC],
683 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
684 }
685
686 ebpf_create_chart(type, NETDATA_SYSCALL_APPS_VFS_OPEN, "Calls for <code>vfs_open</code>",
687 - EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NULL,
687 + EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NETDATA_CGROUP_VFS_OPEN_CONTEXT,
688 NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5509,
689 ebpf_create_global_dimension, &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_OPEN],
690 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
691
692 if (em->mode < MODE_ENTRY) {
693 ebpf_create_chart(type, NETDATA_SYSCALL_APPS_VFS_OPEN_CALLS_ERROR, "Open error",
694 - EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NULL,
694 + EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NETDATA_CGROUP_VFS_OPEN_ERROR_CONTEXT,
695 NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5510,
696 ebpf_create_global_dimension, &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_OPEN],
697 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
698 }
699
700 ebpf_create_chart(type, NETDATA_SYSCALL_APPS_VFS_CREATE, "Calls for <code>vfs_create</code>",
701 - EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NULL,
701 + EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NETDATA_CGROUP_VFS_CREATE_CONTEXT,
702 NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5511,
703 ebpf_create_global_dimension, &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_CREATE],
704 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
705
706 if (em->mode < MODE_ENTRY) {
707 ebpf_create_chart(type, NETDATA_SYSCALL_APPS_VFS_CREATE_CALLS_ERROR, "Create error",
708 - EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NULL,
708 + EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP, NETDATA_CGROUP_VFS_CREATE_ERROR_CONTEXT,
709 NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5512,
710 ebpf_create_global_dimension, &vfs_publish_aggregated[NETDATA_KEY_PUBLISH_VFS_CREATE],
711 1, em->update_every, NETDATA_EBPF_MODULE_NAME_SWAP);
@@ -763,37 +763,37 @@ static void ebpf_obsolete_specific_vfs_charts(char *type, ebpf_module_t *em)
763
764 ebpf_write_chart_obsolete(type, NETDATA_SYSCALL_APPS_VFS_FSYNC, "Calls for <code>vfs_fsync</code>",
765 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_GROUP,
766 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
766 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_VFS_FSYNC_CONTEXT,
767 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5507, em->update_every);
768
769 if (em->mode < MODE_ENTRY) {
770 ebpf_write_chart_obsolete(type, NETDATA_SYSCALL_APPS_VFS_FSYNC_CALLS_ERROR, "Sync error",
771 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_GROUP,
772 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
772 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_VFS_FSYNC_ERROR_CONTEXT,
773 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5508, em->update_every);
774 }
775
776 ebpf_write_chart_obsolete(type, NETDATA_SYSCALL_APPS_VFS_OPEN, "Calls for <code>vfs_open</code>",
777 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_GROUP,
778 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
778 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_VFS_OPEN_CONTEXT,
779 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5509, em->update_every);
780
781 if (em->mode < MODE_ENTRY) {
782 ebpf_write_chart_obsolete(type, NETDATA_SYSCALL_APPS_VFS_OPEN_CALLS_ERROR, "Open error",
783 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_GROUP,
784 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
784 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_VFS_OPEN_ERROR_CONTEXT,
785 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5510, em->update_every);
786 }
787
788 ebpf_write_chart_obsolete(type, NETDATA_SYSCALL_APPS_VFS_CREATE, "Calls for <code>vfs_create</code>",
789 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_GROUP,
790 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
790 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_VFS_CREATE_CONTEXT,
791 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5511, em->update_every);
792
793 if (em->mode < MODE_ENTRY) {
794 ebpf_write_chart_obsolete(type, NETDATA_SYSCALL_APPS_VFS_CREATE_CALLS_ERROR, "Create error",
795 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_GROUP,
796 - NETDATA_EBPF_CHART_TYPE_LINE, NULL,
796 + NETDATA_EBPF_CHART_TYPE_LINE, NETDATA_CGROUP_VFS_CREATE_ERROR_CONTEXT,
797 NETDATA_CHART_PRIO_CGROUPS_CONTAINERS + 5512, em->update_every);
798 }
799 }
@@ -943,41 +943,41 @@ static void ebpf_create_systemd_vfs_charts(ebpf_module_t *em)
943 ebpf_create_charts_on_systemd(NETDATA_SYSCALL_APPS_VFS_FSYNC, "Calls to <code>vfs_fsync</code>",
944 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP,
945 NETDATA_EBPF_CHART_TYPE_STACKED, 20072,
946 - ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NULL,
946 + ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NETDATA_SYSTEMD_VFS_FSYNC_CONTEXT,
947 NETDATA_EBPF_MODULE_NAME_VFS, em->update_every);
948
949 if (em->mode < MODE_ENTRY) {
950 ebpf_create_charts_on_systemd(NETDATA_SYSCALL_APPS_VFS_FSYNC_CALLS_ERROR, "Sync error",
951 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP,
952 NETDATA_EBPF_CHART_TYPE_STACKED, 20073,
953 - ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NULL,
953 + ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NETDATA_SYSTEMD_VFS_FSYNC_ERROR_CONTEXT,
954 NETDATA_EBPF_MODULE_NAME_VFS, em->update_every);
955 }
956 ebpf_create_charts_on_systemd(NETDATA_SYSCALL_APPS_VFS_OPEN, "Calls to <code>vfs_open</code>",
957 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP,
958 NETDATA_EBPF_CHART_TYPE_STACKED, 20074,
959 - ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NULL,
959 + ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NETDATA_SYSTEMD_VFS_OPEN_CONTEXT,
960 NETDATA_EBPF_MODULE_NAME_VFS, em->update_every);
961
962 if (em->mode < MODE_ENTRY) {
963 ebpf_create_charts_on_systemd(NETDATA_SYSCALL_APPS_VFS_OPEN_CALLS_ERROR, "Open error",
964 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP,
965 NETDATA_EBPF_CHART_TYPE_STACKED, 20075,
966 - ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NULL,
966 + ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NETDATA_SYSTEMD_VFS_OPEN_ERROR_CONTEXT,
967 NETDATA_EBPF_MODULE_NAME_VFS, em->update_every);
968 }
969
970 ebpf_create_charts_on_systemd(NETDATA_SYSCALL_APPS_VFS_CREATE, "Calls to <code>vfs_create</code>",
971 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP,
972 NETDATA_EBPF_CHART_TYPE_STACKED, 20076,
973 - ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NULL,
973 + ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NETDATA_SYSTEMD_VFS_CREATE_CONTEXT,
974 NETDATA_EBPF_MODULE_NAME_VFS, em->update_every);
975
976 if (em->mode < MODE_ENTRY) {
977 ebpf_create_charts_on_systemd(NETDATA_SYSCALL_APPS_VFS_CREATE_CALLS_ERROR, "Create error",
978 EBPF_COMMON_DIMENSION_CALL, NETDATA_VFS_CGROUP_GROUP,
979 NETDATA_EBPF_CHART_TYPE_STACKED, 20077,
980 - ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NULL,
980 + ebpf_algorithms[NETDATA_EBPF_INCREMENTAL_IDX], NETDATA_SYSTEMD_VFS_CREATE_ERROR_CONTEXT,
981 NETDATA_EBPF_MODULE_NAME_VFS, em->update_every);
982 }
983 }
collectors/ebpf.plugin/ebpf_vfs.h
+12
@@ -50,6 +50,12 @@
50 #define NETDATA_CGROUP_VFS_READ_ERROR_CONTEXT "cgroup.vfs_read_error"
51 #define NETDATA_CGROUP_VFS_WRITE_BYTES_CONTEXT "cgroup.vfs_write_bytes"
52 #define NETDATA_CGROUP_VFS_READ_BYTES_CONTEXT "cgroup.vfs_read_bytes"
53 +#define NETDATA_CGROUP_VFS_CREATE_CONTEXT "cgroup.vfs_create"
54 +#define NETDATA_CGROUP_VFS_CREATE_ERROR_CONTEXT "cgroup.vfs_create_error"
55 +#define NETDATA_CGROUP_VFS_OPEN_CONTEXT "cgroup.vfs_open"
56 +#define NETDATA_CGROUP_VFS_OPEN_ERROR_CONTEXT "cgroup.vfs_open_error"
57 +#define NETDATA_CGROUP_VFS_FSYNC_CONTEXT "cgroup.vfs_fsync"
58 +#define NETDATA_CGROUP_VFS_FSYNC_ERROR_CONTEXT "cgroup.vfs_fsync_error"
59
60 #define NETDATA_SYSTEMD_VFS_UNLINK_CONTEXT "services.vfs_unlink"
61 #define NETDATA_SYSTEMD_VFS_WRITE_CONTEXT "services.vfs_write"
@@ -58,6 +64,12 @@
64 #define NETDATA_SYSTEMD_VFS_READ_ERROR_CONTEXT "services.vfs_read_error"
65 #define NETDATA_SYSTEMD_VFS_WRITE_BYTES_CONTEXT "services.vfs_write_bytes"
66 #define NETDATA_SYSTEMD_VFS_READ_BYTES_CONTEXT "services.vfs_read_bytes"
67 +#define NETDATA_SYSTEMD_VFS_CREATE_CONTEXT "services.vfs_create"
68 +#define NETDATA_SYSTEMD_VFS_CREATE_ERROR_CONTEXT "services.vfs_create_error"
69 +#define NETDATA_SYSTEMD_VFS_OPEN_CONTEXT "services.vfs_open"
70 +#define NETDATA_SYSTEMD_VFS_OPEN_ERROR_CONTEXT "services.vfs_open_error"
71 +#define NETDATA_SYSTEMD_VFS_FSYNC_CONTEXT "services.vfs_fsync"
72 +#define NETDATA_SYSTEMD_VFS_FSYNC_ERROR_CONTEXT "services.vfs_fsync_error"
73
74 typedef struct netdata_publish_vfs {
75 uint64_t pid_tgid;