When pids.current or pids.max not exist in cgroup root (/sys/fs/cgroup/pids/) collect_metrics will print out error level log "...unable to read a control group file /sys/fs/cgroup/pids/./ pids.current..." continually, this commit will ignore these not found errors.
When
pids.current
orpids.max
not exist in cgroup root (/sys/fs/cgroup/pids/) collect_metrics will print out error level log "...unable to read a control group file /sys/fs/cgroup/pids/./ pids.current..." continually, this commit will ignore these not found errors.As a supplement,if or not set pids.current file in cgroup controller root directory decided by
CFTYPE_NOT_ON_ROOT
flag, in many commen environment it is default to enabled. And as a contrast, go version code will ignore all not found error when collect cgroupv1 metrics: https://github.com/containerd/containerd/blob/b67a788072abd9671804b1ef1a719e3742867d1c/runtime/v2/runc/task/service.go#L625