cAdvisor: Container resource usage analysis tool
Daemon for monitoring container resource usage and metrics.
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.
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.
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.
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}")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.
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.
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.
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
uptime-kuma
Node.js application monitoring HTTP, TCP, DNS, and ping endpoints.
python-dotenv
Parse and load .env files into Python environments.
googletest
xUnit-based C++ testing framework with integrated mocking.
winget-cli
Multi-interface Windows package manager for Store and community repositories.
MailHog
Captures development SMTP traffic with web and API interfaces.