Back to Projects

Sysmoni - System Monitor

Terminal-based system monitor with real-time metrics

RustRatatuiSysinfo

Demo coming soon

Overview

Sysmoni is a lightweight system monitor that runs in the terminal, providing real-time insights into system performance. Unlike heavier monitoring tools, it starts instantly and uses minimal resources while providing comprehensive system metrics. The interface is organized into multiple views for different metric types.

Architecture

The application uses the ratatui library for terminal UI rendering and sysinfo crate for gathering system metrics. A background thread periodically samples system state, and the main thread renders the TUI in response to that data. The architecture supports multiple views that can be switched between using keyboard shortcuts.

Key Challenges

  • Efficiently sampling system metrics without blocking the UI
  • Creating a responsive terminal UI with minimal latency
  • Handling terminal resizing gracefully
  • Making the display informative while keeping it clean

What I Learned

  • Building performant terminal applications with Rust
  • TUI framework design and best practices
  • System call integration and OS-specific considerations
  • Real-time performance optimization

Future Improvements

  • Add disk I/O metrics
  • Implement process-level monitoring
  • Create custom metric templates
  • Add export functionality for metrics