Dont print io errors for cgroups (#13274)
Vladimir Kobal committed
Jun 30, 2022 at 17:26 UTC
124e9e7e9687490b2c21b88afae4ad070f3d36f8
1 file changed
+16
-10
collectors/cgroups.plugin/sys_fs_cgroup.c
+16
-10
@@ -6,6 +6,12 @@
6
#define PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME "systemd"
7
#define PLUGIN_CGROUPS_MODULE_CGROUPS_NAME "/sys/fs/cgroup"
8
9
+#ifdef NETDATA_INTERNAL_CHECKS
10
+#define CGROUP_PROCFILE_FLAG PROCFILE_FLAG_DEFAULT
11
+#else
12
+#define CGROUP_PROCFILE_FLAG PROCFILE_FLAG_NO_ERROR_ON_FILE_IO
13
+#endif
14
+
15
// main cgroups thread worker jobs
16
#define WORKER_CGROUPS_LOCK 0
17
#define WORKER_CGROUPS_READ 1
@@ -949,7 +955,7 @@ static int k8s_get_container_first_proc_comm(const char *id, char *comm) {
955
char filename[FILENAME_MAX + 1];
956
snprintfz(filename, FILENAME_MAX, "%s/%s/cgroup.procs", cgroup_cpuacct_base, id);
957
952
- ff = procfile_reopen(ff, filename, NULL, PROCFILE_FLAG_DEFAULT);
958
+ ff = procfile_reopen(ff, filename, NULL, CGROUP_PROCFILE_FLAG);
959
if (unlikely(!ff)) {
960
debug(D_CGROUP, "CGROUP: k8s_is_pause_container(): cannot open file '%s'.", filename);
961
return 1;
@@ -1031,7 +1037,7 @@ static inline void cgroup_read_cpuacct_stat(struct cpuacct_stat *cp) {
1037
static procfile *ff = NULL;
1038
1039
if(likely(cp->filename)) {
1034
- ff = procfile_reopen(ff, cp->filename, NULL, PROCFILE_FLAG_DEFAULT);
1040
+ ff = procfile_reopen(ff, cp->filename, NULL, CGROUP_PROCFILE_FLAG);
1041
if(unlikely(!ff)) {
1042
cp->updated = 0;
1043
cgroups_check = 1;
@@ -1078,7 +1084,7 @@ static inline void cgroup_read_cpuacct_cpu_stat(struct cpuacct_cpu_throttling *c
1084
}
1085
1086
static procfile *ff = NULL;
1081
- ff = procfile_reopen(ff, cp->filename, NULL, PROCFILE_FLAG_DEFAULT);
1087
+ ff = procfile_reopen(ff, cp->filename, NULL, CGROUP_PROCFILE_FLAG);
1088
if (unlikely(!ff)) {
1089
cp->updated = 0;
1090
cgroups_check = 1;
@@ -1134,7 +1140,7 @@ static inline void cgroup2_read_cpuacct_cpu_stat(struct cpuacct_stat *cp, struct
1140
return;
1141
}
1142
1137
- ff = procfile_reopen(ff, cp->filename, NULL, PROCFILE_FLAG_DEFAULT);
1143
+ ff = procfile_reopen(ff, cp->filename, NULL, CGROUP_PROCFILE_FLAG);
1144
if (unlikely(!ff)) {
1145
cp->updated = 0;
1146
cgroups_check = 1;
@@ -1217,7 +1223,7 @@ static inline void cgroup_read_cpuacct_usage(struct cpuacct_usage *ca) {
1223
static procfile *ff = NULL;
1224
1225
if(likely(ca->filename)) {
1220
- ff = procfile_reopen(ff, ca->filename, NULL, PROCFILE_FLAG_DEFAULT);
1226
+ ff = procfile_reopen(ff, ca->filename, NULL, CGROUP_PROCFILE_FLAG);
1227
if(unlikely(!ff)) {
1228
ca->updated = 0;
1229
cgroups_check = 1;
@@ -1280,7 +1286,7 @@ static inline void cgroup_read_blkio(struct blkio *io) {
1286
if(likely(io->filename)) {
1287
static procfile *ff = NULL;
1288
1283
- ff = procfile_reopen(ff, io->filename, NULL, PROCFILE_FLAG_DEFAULT);
1289
+ ff = procfile_reopen(ff, io->filename, NULL, CGROUP_PROCFILE_FLAG);
1290
if(unlikely(!ff)) {
1291
io->updated = 0;
1292
cgroups_check = 1;
@@ -1352,7 +1358,7 @@ static inline void cgroup2_read_blkio(struct blkio *io, unsigned int word_offset
1358
if(likely(io->filename)) {
1359
static procfile *ff = NULL;
1360
1355
- ff = procfile_reopen(ff, io->filename, NULL, PROCFILE_FLAG_DEFAULT);
1361
+ ff = procfile_reopen(ff, io->filename, NULL, CGROUP_PROCFILE_FLAG);
1362
if(unlikely(!ff)) {
1363
io->updated = 0;
1364
cgroups_check = 1;
@@ -1397,7 +1403,7 @@ static inline void cgroup2_read_pressure(struct pressure *res) {
1403
static procfile *ff = NULL;
1404
1405
if (likely(res->filename)) {
1400
- ff = procfile_reopen(ff, res->filename, " =", PROCFILE_FLAG_DEFAULT);
1406
+ ff = procfile_reopen(ff, res->filename, " =", CGROUP_PROCFILE_FLAG);
1407
if (unlikely(!ff)) {
1408
res->updated = 0;
1409
cgroups_check = 1;
@@ -1454,7 +1460,7 @@ static inline void cgroup_read_memory(struct memory *mem, char parent_cg_is_unif
1460
goto memory_next;
1461
}
1462
1457
- ff = procfile_reopen(ff, mem->filename_detailed, NULL, PROCFILE_FLAG_DEFAULT);
1463
+ ff = procfile_reopen(ff, mem->filename_detailed, NULL, CGROUP_PROCFILE_FLAG);
1464
if(unlikely(!ff)) {
1465
mem->updated_detailed = 0;
1466
cgroups_check = 1;
@@ -3630,7 +3636,7 @@ static inline void update_cpu_limits2(struct cgroup *cg) {
3636
if(cg->filename_cpu_cfs_quota){
3637
static procfile *ff = NULL;
3638
3633
- ff = procfile_reopen(ff, cg->filename_cpu_cfs_quota, NULL, PROCFILE_FLAG_DEFAULT);
3639
+ ff = procfile_reopen(ff, cg->filename_cpu_cfs_quota, NULL, CGROUP_PROCFILE_FLAG);
3640
if(unlikely(!ff)) {
3641
goto cpu_limits2_err;
3642
}