Navigate:
All Reposcadvisor
~$CADVIS0.1%

cAdvisor: Container resource usage analysis tool

Daemon for monitoring container resource usage and metrics.

LIVE RANKINGS • 06:51 AM • STEADY
OVERALL
#193
73
DEVELOPER TOOLS
#40
22
30 DAY RANKING TREND
ovr#193
·Devel#40
STARS
18.8K
FORKS
2.4K
DOWNLOADS
3
7D STARS
+9
7D FORKS
+2
See Repo:
Share:

Learn more about cadvisor

cAdvisor is a container monitoring daemon that gathers resource utilization data from running containers. It operates by collecting metrics on CPU, memory, network, and disk usage, then processes and stores this information in a hierarchical container model. The tool maintains resource isolation parameters, historical usage data, and complete histograms for analysis. cAdvisor is commonly deployed as a standalone daemon, within Docker containers, or as a Kubernetes daemonset to monitor container performance across individual machines or entire clusters.


1

Hierarchical Container Abstraction

Native lmctfy-based container model represents nested container structures without runtime-specific code. Supports Docker, containerd, and other runtimes through a unified interface that preserves container relationships and resource hierarchies.

2

Multi-Interface Metric Export

Exposes metrics through web UI, versioned REST API, and pluggable storage backends simultaneously. Integrates with Prometheus, InfluxDB, or custom pipelines without choosing a single monitoring stack.

3

Dual-Scope Resource Tracking

Monitors both per-container metrics and aggregate host-level statistics simultaneously. Correlate container behavior with system-wide resource pressure for comprehensive performance analysis.


import requests

# Query cAdvisor HTTP API for container stats
response = requests.get('http://localhost:8080/api/v1.3/docker/<container_id>')
container_stats = response.json()

cpu_usage = container_stats['stats'][0]['cpu']['usage']['total']
memory_usage = container_stats['stats'][0]['memory']['usage']
print(f"CPU: {cpu_usage}, Memory: {memory_usage}")


vv0.53.0

Maintenance release fixing containerd hang, data race, and error handling; updates dependencies to June 2025 versions.

  • Upgrade to resolve containerd client.LoadContainer hang that could block container operations indefinitely.
  • Apply fix for data race condition and corrected error wrapping; no breaking changes or new requirements specified.
vv0.52.1

Resctrl support is now optional and pluggable; no breaking changes or new requirements specified.

  • Configure resctrl as a pluggable component if your workload requires Intel RDT monitoring.
  • Release notes do not specify breaking changes, migrations, or security fixes beyond this feature.
vv0.52.0

Requires Go 1.24; updates containerd, runc, and Prometheus dependencies; adds Pressure Stall Information metrics.

  • Upgrade to Go 1.24 as the minimum required version due to opencontainers/cgroups switch.
  • Collect new PSI (Pressure Stall Information) metrics for CPU, memory, and I/O resource contention visibility.


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers