Collect and visualize CI resource metrics (network, CPU, memory) #139

Closed
opened 2026-05-21 14:22:29 +00:00 by guettlibot · 0 comments
guettlibot commented 2026-05-21 14:22:29 +00:00 (Migrated from codeberg.org)

Goal

(later, do in external project)

Collect per-job resource metrics during CI runs and visualize them at the end of each job.

Plan

  • Use Docker stats API filtered by Dagger session label to collect network I/O, CPU, and memory per container, scoped to the current job only
  • Two concurrent jobs only see their own containers (filter on dagger.io/session label)
  • Feed metrics through OpenTelemetry (dockerstatsreceiver) or poll docker stats directly
  • Display a summary at the end of the CI job output

Why

CI jobs appear to fail due to resource exhaustion; this will make it visible which resource is the bottleneck.

Related:

https://codeberg.org/guettli/sharedinbox/issues/135

## Goal (later, do in external project) Collect per-job resource metrics during CI runs and visualize them at the end of each job. ## Plan - Use Docker stats API filtered by Dagger session label to collect **network I/O**, **CPU**, and **memory** per container, scoped to the current job only - Two concurrent jobs only see their own containers (filter on `dagger.io/session` label) - Feed metrics through OpenTelemetry (`dockerstatsreceiver`) or poll `docker stats` directly - Display a summary at the end of the CI job output ## Why CI jobs appear to fail due to resource exhaustion; this will make it visible which resource is the bottleneck. Related: https://codeberg.org/guettli/sharedinbox/issues/135
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: guettli/sharedinbox#139