Skip to content

Tags: google/cadvisor

Tags

v0.60.5

Toggle v0.60.5's commit message
lib/manager: allow disabling container discovery

When Kubelet has CRI stats enabled, the container runtime handles
container tracking and cAdvisor is only queried for the root container
stats. Discovering and watching all containers at startup is unnecessary
overhead in that mode.

Add a DisableContainerDiscovery option to HousekeepingConfig that skips
plugin initialization, cgroup watchers, subcontainer scanning, and the
global housekeeping loop. The root container is still created at startup
to serve node-level resource and filesystem stats. Other containers are
created lazily via getContainer() on first query.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>

lib/v0.60.5

Toggle lib/v0.60.5's commit message
lib/manager: allow disabling container discovery

When Kubelet has CRI stats enabled, the container runtime handles
container tracking and cAdvisor is only queried for the root container
stats. Discovering and watching all containers at startup is unnecessary
overhead in that mode.

Add a DisableContainerDiscovery option to HousekeepingConfig that skips
plugin initialization, cgroup watchers, subcontainer scanning, and the
global housekeeping loop. The root container is still created at startup
to serve node-level resource and filesystem stats. Other containers are
created lazily via getContainer() on first query.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>

v0.60.4

Toggle v0.60.4's commit message
build(deps): bump golang.org/x/crypto

Updates `golang.org/x/crypto` from 0.51.0 to 0.54.0
- [Commits](golang/crypto@v0.51.0...v0.54.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.54.0
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>

lib/v0.60.4

Toggle lib/v0.60.4's commit message
build(deps): bump golang.org/x/crypto

Updates `golang.org/x/crypto` from 0.51.0 to 0.54.0
- [Commits](golang/crypto@v0.51.0...v0.54.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.54.0
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>

v0.60.3

Toggle v0.60.3's commit message
Move OOM watching out of the lib module into the binary

The lib module is the subset of cAdvisor that the kubelet vendors, and the
kubelet does not need cAdvisor to watch for OOMs. It reads /dev/kmsg itself
and supplies container_oom_events_total on its own, so the OOM machinery does
not belong in lib.

Remove watchForNewOoms and the per-container OOM counter from lib/manager, and
move the kmsg reader (utils/oomparser) from lib to the root module, which the
binary depends on. lib no longer imports github.com/euank/go-kmsg-parser.

The cAdvisor binary keeps its OOM events and the container_oom_events_total
metric. cmd/internal/api now runs the OOM watcher, feeds OOM and OOM-kill
events to the event manager, and wraps the manager so the prometheus collector
reports the per-container OOM count.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

lib/v0.60.3

Toggle lib/v0.60.3's commit message
Move OOM watching out of the lib module into the binary

The lib module is the subset of cAdvisor that the kubelet vendors, and the
kubelet does not need cAdvisor to watch for OOMs. It reads /dev/kmsg itself
and supplies container_oom_events_total on its own, so the OOM machinery does
not belong in lib.

Remove watchForNewOoms and the per-container OOM counter from lib/manager, and
move the kmsg reader (utils/oomparser) from lib to the root module, which the
binary depends on. lib no longer imports github.com/euank/go-kmsg-parser.

The cAdvisor binary keeps its OOM events and the container_oom_events_total
metric. cmd/internal/api now runs the OOM watcher, feeds OOM and OOM-kill
events to the event manager, and wraps the manager so the prometheus collector
reports the per-container OOM count.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

v0.60.2

Toggle v0.60.2's commit message
lib/model: make ContainerStats sub-stats pointers to convey collectio…

…n presence

The collapsed model used value types for the per-subsystem stats (Cpu,
Memory, Network, DiskIo, Processes), which cannot express "not collected"
versus "collected and zero". Restore pointer fields so a nil signals the
subsystem was not collected, matching the info/v2 shape the kubelet relies
on. Handlers allocate each pointer when they collect the subsystem; the
metrics collector and the v1/v2 REST converters nil-guard their reads.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

lib/v0.60.2

Toggle lib/v0.60.2's commit message
lib/model: make ContainerStats sub-stats pointers to convey collectio…

…n presence

The collapsed model used value types for the per-subsystem stats (Cpu,
Memory, Network, DiskIo, Processes), which cannot express "not collected"
versus "collected and zero". Restore pointer fields so a nil signals the
subsystem was not collected, matching the info/v2 shape the kubelet relies
on. Handlers allocate each pointer when they collect the subsystem; the
metrics collector and the v1/v2 REST converters nil-guard their reads.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

v0.60.1

Toggle v0.60.1's commit message
deploy: add lib/go.mod to the image build's dependency cache

The root go.mod replaces github.com/google/cadvisor/lib => ./lib, so the
dependency-cache `go mod download` needs lib/go.mod present. The cmd submodule
was handled but lib was not, so the container image build failed with
"reading lib/go.mod: no such file or directory".

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

v0.60.0

Toggle v0.60.0's commit message
cmd: build the binary against lib + register the injection seams

cmd builds the cAdvisor binary and v1/v2 REST API against lib, registering the
perf/resctrl factories, summary reader, process-list and app-metrics providers,
the cpu-load reader, and the events.EventManager (via the library's EventSink)
into the manager's seams.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>