Skip to content

Conversation

@sambhav-jain-16
Copy link
Contributor

@sambhav-jain-16 sambhav-jain-16 commented Dec 12, 2025

What?

Adds support for Linux kernel IOCost controller metrics (usage, wait, indebt, indelay) to cAdvisor, exposed via Prometheus.

Why?

IOCost is a cgroup v2 IO cost-based QoS controller that provides fine-grained IO resource management. Exposing these metrics enables users to:

  • Monitor IO cost accounting per container
  • Debug IO performance issues
  • Tune IOCost QoS parameters based on actual usage

How?

  • Upgraded github.com/opencontainers/cgroups from v0.0.4 to v0.0.6 (which added IOCost support in
    opencontainers/cgroups@e313314)
  • Added 4 IOCost fields to DiskIoStats struct
  • Added 4 new Prometheus metrics
    • container_fs_io_cost_usage_seconds_total
    • container_fs_io_cost_wait_seconds_total
    • container_fs_io_cost_indebt_seconds_total
    • container_fs_io_cost_indelay_seconds_total
  • Added unit tests

@dims dims added this pull request to the merge queue Dec 16, 2025
Merged via the queue into google:master with commit 30bca0d Dec 16, 2025
7 checks passed
@sambhav-jain-16 sambhav-jain-16 deleted the iocost branch December 17, 2025 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants