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;