feat: Add cgroup v2 support for accurate container resource monitoring

Aperta
#276 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

@AdityaTakuli ci sta già lavorando.

Dal 17/2/2026.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp, docker, kubernetes, linux

Direzione di ricerca

Inizia leggendo i componenti di monitoraggio esistenti e l’interfaccia Imonitor prima di progettare cgroupmon.cpp/h. Verifica come vengono gestite attualmente le sorgenti sotto /sys/fs/cgroup/ e /proc, quindi pianifica test unitari con sorgenti precostituite e test di integrazione Docker/Kubernetes. Il lavoro è completo quando sono implementati il rilevamento di cgroup v1/v2, i limiti e le statistiche di CPU, memoria e I/O, il comportamento di fallback e gli aggiornamenti a README e ADDING_MONITORS.md.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

Modern Linux distributions and containers (Docker/Kubernetes) use cgroup v2. Current prmon monitoring has reduced accuracy in containerized environments and cannot detect container resource limits.

Proposed Solution

Add new cgroupmon monitor component that:

  • Auto-detects and reads from cgroup v1/v2 (/sys/fs/cgroup/)
  • Provides accurate CPU, memory, I/O stats for containers
  • Reports container limits and quotas
  • Maintains backward compatibility with non-container environments
Expected Deliverables
  • cgroupmon.cpp/h implementing Imonitor interface
  • Support for both cgroup v1 and v2
  • Auto-detection with fallback to /proc
  • Unit tests with precooked sources
  • Integration tests in Docker/Kubernetes
  • Documentation updates (README, ADDING_MONITORS.md)
Benefits
  • Accurate monitoring in modern container platforms
  • Lightweight implementation (no new dependencies)
  • Suitable for HEP workflows in Kubernetes
Lingua principale
C++
Stelle
62
Fork
40
Merge medio
1g 21h
PR unite (30g)
1

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di HSF/prmon

Tutte le issue di HSF/prmon

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.