Rig Control API is a robust and extensible backend service designed to monitor and report hardware resource utilization such as CPU, GPU, and Network activities in real-time. It employs a modular architecture, making it straightforward to add support for monitoring additional hardware resources.
- Real-time monitoring of hardware resources including CPU, GPU, and Network.
- SignalR integration for real-time updates to connected clients.
- A well-structured and extensible design allowing for easy addition of new hardware monitors.
- Dependency Injection for better testability and loose coupling.
- Timer-based polling of hardware resources.
- Error handling to ensure robustness.
- .NET Core 3.1 or later
- Clone the repository
git clone https://github.com/LenBanana/RigControl.git
- Navigate to the project directory
cd RigControlApi
- Restore the .NET packages
dotnet restore
- Build and run the project
dotnet build
dotnet run
Once the Rig Control API is running, clients can connect to the SignalR hub to receive real-time updates on hardware resource utilization. The API provides separate monitors for CPU, GPU, and Network resources, each reporting relevant metrics such as load, temperature, throughput, etc.
To add a new hardware monitor:
- Create a new class in the
RigControlApi.Utilities.Monitors
namespace. - Inherit from the
HardwareMonitor
base class. - Provide a concrete implementation of the
UpdateHub
method to send the hardware usage data to the SignalR clients in the appropriate manner for the new type of hardware.
Feel free to fork the project, create a feature branch, and send us a pull request!
This project is licensed under the MIT License.