Modern, cross-platform, terminal tabanlı sistem izleme aracı
Rust ile yazılmış, gerçek zamanlı sistem analizi ve güzel Unicode grafikleri
|
|
| Bileşen | Özellikler |
|---|---|
| CPU | Genel kullanım + bireysel çekirdek izleme (8 çekirdeğe kadar) |
| Bellek | Kullanım yüzdesi ve mutlak değerler, trend analizi |
| Disk | Çoklu sürücü kullanım istatistikleri ve kapasite bilgisi |
| Ağ | Gerçek zamanlı I/O istatistikleri ve throughput izleme |
| Sistem | OS bilgisi, kernel versiyonu, uptime ve sistem detayları |
| Processler | En çok CPU kullanan processler ve detaylı bilgiler |
- Rust 1.70+ (Rust Kurulumu)
- Unicode destekli terminal
# Repository'yi klonla
git clone https://github.com/rustfuture/grainx.git
cd grainx
# Direkt çalıştır
cargo run
# Veya optimize edilmiş sürümü derle
cargo build --release
./target/release/grainx🐧 Linux
# Ubuntu/Debian
sudo apt update && sudo apt install build-essential
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Fedora/RHEL
sudo dnf groupinstall "Development Tools"
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Arch Linux
sudo pacman -S base-devel
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh🍎 macOS
# Rust kurulumu
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Veya Homebrew ile
brew install rustup
rustup-init🪟 Windows
# winget kullanarak
winget install Rustlang.Rust
# Veya https://rustup.rs/ adresinden indirin
# Sonra PowerShell veya Windows Terminal'de çalıştırıncargo run # İzlemeyi başlat
cargo test # Test paketini çalıştır
cargo bench # Benchmark'ları çalıştır
cargo build --release # Optimize edilmiş binary derle| Tuş | İşlev | Tuş | İşlev |
|---|---|---|---|
q / ESC |
Programdan çık | h / ? |
Yardım menüsü |
↑ / ↓ |
Process'lerde gezin | p |
Duraklat/Devam |
k |
Seçili process'i öldür | r |
Ekranı yenile |
a |
Adaptif yenilemeyi aç/kapat | s |
İstatistikleri kaydet |
📸 Terminal Görünümü
┌─ grainx Sistem Monitörü ─ İterasyon: 42 ─┐
│ CPU Kullanımı: 45.2% │
│ ████████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
│ │
│ Bellek: 68.5% (5.5GB/8.0GB) │
│ ████████████████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
│ │
│ Sistem: Linux | Kernel: 5.15.0 | Up: 2s │
│ Ağ: RX:125.3MB TX:89.7MB │
│ CPU Çekirdekleri: C0:42% C1:38% C2:51% │
│ Diskler: sda:75%(465GB) nvme:45%(1TB) │
│ │
│ En Çok CPU Kullanan (↑↓=seç, k=öldür) │
│ ► 1234 firefox 25.3% 512MB │
│ 5678 code 15.8% 256MB │
│ 9012 grainx 2.1% 8MB │
└───────────────────────────────────────────┘
grainx özelleştirme için JSON konfigürasyon dosyası kullanır:
📝 dashboard_config.json
{
"name": "grainx_gelişmiş",
"layout": [
"cpu_graph",
"memory_usage",
"network_stats",
"process_list",
"analytics"
],
"refresh_interval_ms": 500,
"cpu_warning_threshold": 80.0,
"memory_warning_threshold": 85.0,
"show_predictions": true,
"show_correlations": true,
"max_processes": 10,
"graph_history_size": 100
}| Seçenek | Tip | Varsayılan | Açıklama |
|---|---|---|---|
cpu_warning_threshold |
f32 |
80.0 |
Uyarı renkleri için CPU kullanım % |
memory_warning_threshold |
f32 |
85.0 |
Uyarılar için bellek kullanım % |
show_predictions |
bool |
true |
CPU kullanım tahminlerini etkinleştir |
show_correlations |
bool |
true |
Korelasyon analizini etkinleştir |
max_processes |
usize |
10 |
Gösterilecek maksimum process sayısı |
graph_history_size |
usize |
100 |
Grafiklerdeki veri noktası sayısı |
graintestleri çalıştır cargo test
cargo test analytics
cargo test performance
cargo test config
cargo test --test integration_tests
cargo bench
### Test Kategorileri
- **Unit Testler**: Bireysel modül işlevselliği
- **Integration Testler**: Uçtan uca sistem davranışı
- **Performance Testler**: Kritik yolların benchmark'ı
- **Platform Testler**: Cross-platform uyumluluk
---
## 🌍 Platform Uyumluluğu
<div align="center">
| Platform | Destek | Notlar |
|----------|:------:|--------|
| **🐧 Linux** | ✅ **Tam** | Native geliştirme platformu |
| **🍎 macOS 11+** | ✅ **Tam** | Tam özellik seti |
| **🪟 Windows 10+** | ✅ **Tam** | Windows Terminal ile en iyi deneyim |
</div>
### Performans Metrikleri
| Metrik | Değer | Notlar |
|--------|-------|--------|
| **Bellek Kullanımı** | ~5-10MB | Tipik çalışma zamanı kullanımı |
| **CPU Etkisi** | <1% | Modern sistemlerde |
| **Yenileme Hızı** | 250ms-2s | Yüke göre adaptif |
| **Başlama Süresi** | ~100-200ms | Platforma bağlı |
---
## 🐛 Sorun Giderme
<details>
<summary><b>Yaygın Sorunlar ve Çözümler</b></summary>
### Unicode Görüntü Sorunları
```bash
# Linux/macOS
export LANG=tr_TR.UTF-8
export LC_ALL=tr_TR.UTF-8
# Windows
chcp 65001
# Linux/macOS - tam sistem erişimi için
sudo ./target/release/grainx
# Windows - Yönetici olarak çalıştır- Adaptif yenilemeyi açmak için
atuşuna basın - Config'de yenileme aralığını artırın
- Sistem darboğazlarını kontrol edin
RUST_LOG=debug cargo run
RUST_LOG=grainx=trace cargo run # Ayrıntılı loglamaKatkılarınızı memnuniyetle karşılıyoruz! Başlamak için:
# Fork ve clone
git clone https://github.com/rustfuture/grainx.git
cd grainx
# Özellik branch'i oluştur
git checkout -b feature/harika-ozellik
# Değişiklik yap ve test et
cargo test
cargo clippy
cargo fmt
# Commit ve push
git commit -m "Harika özellik ekle"
git push origin feature/harika-ozellik- 🧪 Yeni işlevsellik için test ekle
- 📝 API değişiklikleri için dokümantasyonu güncelle
- 🎨 Rust konvansiyonlarını takip et (rustfmt, clippy)
- ✅ Göndermeden önce tüm testlerin geçtiğinden emin ol
- 📋 Açık commit mesajları yaz
Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için LICENSE dosyasına bakın.
- 🦀 sysinfo - Cross-platform sistem bilgisi
- 🖥️ crossterm - Terminal manipülasyonu
- 📊 criterion - Performance benchmark'ı
- 🎨 Unicode Consortium - Braille karakter standartları