Bu proje, Linux işletim sisteminde çalışan bir sistem kaynaklarını izleme aracıdır.
Amaç, kullanıcıya gerçek zamanlı olarak CPU, bellek, disk, ağ ve süreç (process) kullanımlarını göstermektir.
Proje modüler bir mimari ile geliştirildi ve birkaç katmandan oluşuyor:
Collector (Veri Toplama Katmanı)
/proc dosya sistemi üzerinden verileri okur.
CPU kullanım bilgilerini /proc/stat, bellek bilgilerini /proc/meminfo, süreç bilgilerini /proc/[pid]/stat, ağ bilgilerini /proc/net/dev dosyalarından alır.
Bu katman çoklu thread (pthread) ile periyodik olarak çalışır.
Analyzer (Analiz Katmanı)
Toplanan veriler üzerinde analiz ve filtreleme işlemleri yapar.
Örneğin, en fazla CPU kullanan süreçleri sıralar veya bellek tüketimine göre listeleme yapar.
Kullanıcıya anlamlı veriler sunar.
Reporter (Raporlama Katmanı)
Analiz edilen verileri kullanıcıya gösterir.
Çıktı formatı JSON, CSV veya konsol ekranında tablo olarak olabilir.
Kullanıcı isterse geçmiş logları kaydedebilir.
CPU Kullanımı: Anlık ve ortalama CPU kullanım yüzdesi.
RAM Kullanımı: Kullanılan, boş ve toplam bellek.
Disk Kullanımı: Okuma/yazma istatistikleri.
Ağ Trafiği: Gönderilen/alınan paket ve bayt miktarı.
Process Listesi: Çalışan süreçlerin PID, CPU ve RAM kullanım oranları.
Eşik Değer Uyarıları: CPU veya RAM belli bir değeri aştığında uyarı verme (opsiyonel).
Dil: C++
Sistem: Linux
Konseptler: Çoklu thread, dosya okuma (/proc), veri işleme, modüler tasarım
Çıktılar: JSON/CSV raporlama