google / google/cadvisor

Add functionality for custom housekeeping interval per controller type

Open
#3,738 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
19.4k
Forks
2.5k
Avg merge
9h 7m
Merged PRs (30d)
1

Description

Current we have a single interval for all controller's metrics in the housekeeping logic. However, there are cases where we want some metrics to be collected more frequently that the others. If we run all stats with the lowest interval, it is putting a lot of stress on `cadvisor` and due to unified hierarchy and in turn a single root filesystem lock for all controllers in cgroupv2, the more we read, the more we increase stress of the single lock. This becomes specially evident when there are writes in cgroup directory by other agents.

I propose we can add a functionality to add a per controller housekeeping interval.
From what I know, the current `libcontainer` library doesn't contain the implementation of getting per controller type metric, I have also raised an issue in the repo https://github.com/opencontainers/cgroups/issues/44 to tackle it.

I'm open to contribute if the maintainers agree to this proposal

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.