Demo
https://github.com/user-attachments/assets/0dbe7dcc-a76e-4dd1-ae8f-233ebdf8e4e0
Stomata tracking memory, swap, CPU, and per-process resource usage in real-time
Why Stomata?
I repeateadly faced out-of-memory issues while working with very large Rust projects. Other tools showed me the metrics, but not the culprit and in a very clustered UI.
Stomata gives:
- System-wide metrics: Memory, Swap, CPU, Disk usage in one place. You can immediately know when the load kicks in
- Process level details: See exactly which process is using how much of machine resources
- Single Process inspection: Drill into a single process to check its CPU utilizations, memory use, disk read/write bytes in real-time
- Lightweight: Minimal footprints
Features
System Monitoring
- Real-time memory, swap, CPU, disk usage gauges
- CPU utilization tracking
- OS and system information
Process Monitoring
- Live process list with resource consumption
- Per-process CPU and memory usage
- Per process meta info about running time, start time, working directory and more
Process Inspection
-
Select any process for detailed view
-
Current working directory (CWD)
-
Disk read/write bytes with sparkline graphs
-
Memory and CPU usage over time
-
Designed as a workspace: includes a reusable library (
Stomata-core) and a CLI (Stomata-cli)
Installation
Via crates.io:
Using the core library in your project:
Usage
# Run with default settings
# Custom refresh interval (milliseconds)
Building from Source
Requires Rust 1.90.0+
# Debug build
# or
# Release build
Project Structure
Stomata is organized as a Cargo workspace:
stomata-cli— The terminal applicationstomata-core— Reusable library for metrics collection
Contributing
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)