Hello again 👋
This devlog covers the latest progress on SysTrace since the previous update. The focus was improving agent–server communication, introducing a WebSocket-based command system, and expanding remote device management.
Agent Updates
Device network information
- Added an IP field to the
Device struct
- Implemented automatic IP address collection
Architecture improvements
- Refactored services into dedicated collector packages
- Improved internal data collection structure
WebSocket communication
- Implemented WebSocket communication
- Introduced an event-based message structure
- Refactored WebSocket message handling
Connection reliability
- Improved agent–server connection logic
- Added automatic reconnection
Configuration
- Implemented master server configuration
- Refactored configuration management
- Updated server connector initialization
Remote command system
- Implemented command handling over WebSockets
- Added command response handling
Remote system actions
- Shutdown
- Restart
- Hibernate
- Change master server
Commands can optionally trigger showMessageBox for user interaction.
Agent lifecycle
- Added agent stop functionality
Notifications
- Added alert notification support
Server Updates
Database
- Implemented database insertion for device data
- Redesigned the initial database schema
Monitoring
- Added health check functionality (currently broken after WebSocket migration)
- Implemented a device details page
WebSocket support
- Added WebSocket communication
- Implemented command response handling
Server commands
- Added Change Server command
- Updated the command response structure