SysTrace banner

SysTrace

8 devlogs
17h 25m 50s

SysTrace is a device-tracking tool to monitor things like CPU, RAM, GPU Usage and other things like Location from your Device.
This Project is build to learn GO after only developing in Java for the last years.

Short Demo: https://youtu.be/qxP

SysTrace is a device-tracking tool to monitor things like CPU, RAM, GPU Usage and other things like Location from your Device.
This Project is build to learn GO after only developing in Java for the last years.

Short Demo: https://youtu.be/qxP3Q3q_ucY

This project uses AI

Tools like ChatGPT where used to learn GO from translating things from Java into GO and Copilot was used for AutoCompletion and Debugging.

Demo Repository

Loading README...

Elias Schaffer

Hey again!
I tried to ship my project but made the critical mistake to not test the project on a new device so nothing worke, but these issues should be fixed now and I am ready to ship again

Fixes:

  • fixed an error where the database connection wasnt loaded from the .env correctly
  • fixed an error, where the ip_address table wouldnt be created with the installer
Attachment
0
Elias Schaffer

Hello again 👋

This devlog summarizes the latest progress on SysTrace over the last few days. The focus was on stabilizing the WebSocket communication layer, improving the project structure, and is the last devlog before the first ship.


Agent Updates

Installer

  • Added a Windows installer script for the SysTrace Agent

Data handling

  • Refactored data handling to use a static package
  • Updated WebSocket request and response structures
  • The agent now sends a response back to the server if a request fails

Connection stability

  • Improved server reconnect handling
  • Refactored WebSocket message processing

Project structure

  • Cleaned up and refactored the project structure
  • Renamed several files for better consistency

Documentation

  • Added a README for the SysTrace Agent
  • Updated build instructions

Licensing

  • Added the MIT License

Server Updates

Installer

  • Added an installer script for the SysTrace Server

WebSocket communication

  • Implemented request handling and response management for WebSocket messages
  • Improves reliability of agent-server communication

Documentation

  • Added a demo section with a video link in the README

Licensing

  • Added the MIT License
0
Elias Schaffer

Hello again 👋

This update only includes a few small changes.

Fixes

  • Fixed an issue where the agent stopped reading messages after reconnecting to the server.

Project structure

  • Moved the gpshelper project into the same repository as the agent.

Status
The project is getting close to its first shipment/release.
Before that, I still want to finish building the agent installer.

Attachment
0
Elias Schaffer

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
Attachment
Attachment
Attachment
0
Elias Schaffer

Hello again 👋

After implementing the new GPS system in the last update, I spent some time improving both the server and the agent.

Below are the latest changes.


Server Updates

Started database integration

  • Began implementing the database connection
  • Preparing persistent storage for device data and metrics

Improved device data handling

  • Updated viewData to use the new DataInput method
  • This improves how incoming device data is processed and displayed

Added structured input handler

  • Implemented a DataInput method in the handler
  • Used fso it finally doesnt output the memory location of the map anymore**

Agent Updates

GPS enrichment

  • Added enrichGPSData() function
  • Fetches additional location details from OpenStreetMap
  • Converts raw GPS coordinates into more meaningful location data

Next Steps

  • Finish database integration
  • Store device metrics persistently
  • Start building the device dashboard
Attachment
0
Elias Schaffer

I added a link to the Windows Location API because my GeolocationAPI is limited to 1k Requests a day if i continue the free plan. I will need to learn how to write an insaller for this project now before i ship it because the c sharp code for the API Connection needs to be certified because its an UWP Programm (wasnt very fun finding out how that works since I thought it should work as a simple Console Application)
Next I will need to get an API that resolves my lat and long into country and region so my dataset is complete.
I also need to figure out what to do with the C# code to open source it

0
Elias Schaffer

I started to work on the Web/Backend Server. It can recieve Data from a Client, store it in a map and output a small webpage. I also added the networking to the agent and made it use an own thread so it doesnt block the main loop.

Attachment
0
Elias Schaffer

Hey.
This is my first Devlog because I forgot to link HackerTime an wondered why I couldnt a my Project.
I started with getting reading all the system stats and getting the location via an API call. Next I will start to work on the server to manage output of the connected devices so I know what else I could need of the client

The location in the screenshot isnt my real address btw

Attachment
0