Skip to content

feat: Update grafana cadvisor fork to v0.54.1#5447

Merged
dehaansa merged 10 commits intomainfrom
cadvisor-54
Feb 10, 2026
Merged

feat: Update grafana cadvisor fork to v0.54.1#5447
dehaansa merged 10 commits intomainfrom
cadvisor-54

Conversation

@dehaansa
Copy link
Contributor

@dehaansa dehaansa commented Feb 4, 2026

Brief description of Pull Request

Pull Request Details

Update the cadvisor fork to v0.54.1 to support Docker v29 and various other new metrics & bugfixes. Also updates mongodb_exporter as shared dependencies needed to be bumped.

Issue(s) fixed by this Pull Request

Fixes #5021

Notes to the Reviewer

PR Checklist

  • Documentation added

@dehaansa dehaansa requested review from a team and clayton-cornell as code owners February 4, 2026 21:37
@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

💻 Deploy preview deleted (feat: Update grafana cadvisor fork to v0.54.1).

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

🔍 Dependency Review

github.com/google/cadvisor v0.47.0 -> v0.54.1 — ❌ Changes Needed

Impact

  • Upgrading cAdvisor requires updating the Docker plugin options to include a containerd endpoint when available. This is necessary to maintain metrics coverage (notably for overlayfs-backed containers).
  • Your PR already includes the required code and doc updates; below is a concise summary to help reviewers understand why they were needed and what changed.

What changed and why it matters

  • In newer cAdvisor (and the Grafana fork you pin via replace), the Docker plugin accepts an additional option to supply the containerd endpoint. This allows cAdvisor to read container information correctly in environments where overlayfs is used by containerd.
  • The project switched the replace to a Grafana cAdvisor fork tag “grafana-v0.54.1-noglobals,” indicating internal changes around globals removal; no extra code changes are required here in your tree beyond the plugin options update.

Required code changes

  • Pass the containerd endpoint to the Docker plugin options:
--- a/internal/static/integrations/cadvisor/cadvisor.go
+++ b/internal/static/integrations/cadvisor/cadvisor.go
@@ -94,11 +94,12 @@ func New(logger log.Logger, c *Config) (integrations.Integration, error) {
 		}),
 		"crio": crio.NewPlugin(),
 		"docker": docker.NewPluginWithOptions(&docker.Options{
-			DockerEndpoint: c.Docker,
-			DockerTLS:      c.DockerTLS,
-			DockerCert:     c.DockerTLSCert,
-			DockerKey:      c.DockerTLSKey,
-			DockerCA:       c.DockerTLSCA,
+			DockerEndpoint:     c.Docker,
+			DockerTLS:          c.DockerTLS,
+			DockerCert:         c.DockerTLSCert,
+			DockerKey:          c.DockerTLSKey,
+			DockerCA:           c.DockerTLSCA,
+			ContainerDEndpoint: c.Containerd,
 		}),
 		"systemd": systemd.NewPlugin(),
 	}

Docs change associated with the upgrade

  • A note was added advising that for overlayfs storage, the containerd host must be configured:
    • “If a container is using the overlayfs storage driver, ensure the containerd_host attribute is set correctly to be able to retrieve its metrics.”

References

  • Your repository changes clearly demonstrate the API usage requirement for the new plugin option and the documentation guidance for overlayfs.
github.com/percona/mongodb_exporter v0.45.1-0.20250630080259-d761c954bba6 -> v0.47.2 — ✅ Safe

Impact

  • No code changes in your tree are required. The integration configuration and usage remain the same.

Observations from your tree

  • No changes were needed to your exporter wiring or configuration structures.
  • Testdata and example Alloy snippets retain the same fields (e.g., mongodb_uri, direct_connect, discovering_mode) and behavior.
  • This suggests that the library surface you’re using remains compatible across this bump.

Notes

  • v0.x versions can include breaking changes, but there are no surfaced API changes in your usage between these versions in this repo.
go.mongodb.org/mongo-driver v1.17.4 -> v1.17.6 — ✅ Safe

Impact

  • Patch-level update; no API changes required.

Observations from your tree

  • No code updates were introduced to accommodate this version bump.
  • This aligns with typical patch releases containing bug fixes and minor improvements only.

Notes

  • The cAdvisor module is also replaced with Grafana’s fork in multiple module files to tag “grafana-v0.54.1-noglobals.” That replacement is consistent across:
    • collector/builder-config.yaml
    • collector/go.mod (replace directive)
    • extension/alloyengine/go.mod (replace directive)
    • root go.mod (replace directive)
  • Multiple indirect dependencies were added or updated as a result of the cAdvisor bump (e.g., containerd modules, opencontainers cgroups, minio libs, rs/xid, cloud.google.com/go/storage). These do not require code changes in your tree based on current usage.
  • Documentation was updated to reflect overlayfs considerations for cAdvisor (“containerd_host” attribute), which ties directly to the required Docker plugin option addition.

@clayton-cornell
Copy link
Contributor

No docs comments. There are changes, but nothing that needs review from my side.

@dehaansa dehaansa enabled auto-merge (squash) February 10, 2026 15:21
@dehaansa dehaansa merged commit 2a3aba0 into main Feb 10, 2026
49 of 50 checks passed
@dehaansa dehaansa deleted the cadvisor-54 branch February 10, 2026 17:22
@grafana-alloybot grafana-alloybot bot mentioned this pull request Feb 10, 2026
@Xymanek
Copy link

Xymanek commented Feb 18, 2026

Hi! Is there any estimation of when a version with this change will be available?

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

prometheus.exporter.cadvisor: Update embedded cAdvisor fork to v0.54.0 to support Docker v29.0.0

5 participants