O projeto é divido em 3 diretórios:
- client
- proto
- server
É responsável por coletar as informações e enviá-las ao servidor
Define o service
em Protocol Buffers
que será utilizado na comunicação entre cliente e servidor.
Obtém as informações enviadas pelo cliente e salva em um banco de dados postgres
.
A tabela do banco de dados se chama performance_info
e possui os seguintes campos:
campo | tipo |
---|---|
id | serial |
cpu | double |
memory_used | double |
memory_avaliable | double |
disk_used | double |
disk_avaliable | double |
- navegue para a pasta do projeto no `terminal
- execute
cd server
e logo depoisgo run main.go
- abra um novo terminal, execute
cd client
e logo depoisgo run main.go -N NomeDoCliente
Uma vez em execução, o cliente irá automaticamente enviar informações sobre a máquina a cada dez segundos. No server-side é logado no terminal os diferentes status de quem solicita e envia. A atualizacao para envio do report via client é de 10 segundos enquanto o servidor solicita para todos os clients conectados num intervalo de 15 segundos.