fix: add runtime heartbeat observability #34

Merged
isyuricunha merged 3 commits from fix/runtime-heartbeat-observability into main 2026-08-27 17:44:21 +00:00
isyuricunha commented 2026-08-27 17:40:11 +00:00 (Migrated from github.com)

Problema

docker compose logs -f pode parecer travado quando a Yue está saudável mas não há eventos novos. O container já possui healthcheck silencioso a cada 30s, então faltava apenas um sinal periódico no log do próprio bot.

Correção

  • adiciona heartbeat do runtime a cada 5 minutos;
  • registra discordReady, quantidade de guilds, usuários e uptime;
  • emite warning quando o processo está vivo mas o Discord não está pronto;
  • integra o heartbeat ao lifecycle para encerrar o timer corretamente no shutdown;
  • adiciona teste do snapshot de saúde.

Observação sobre o log enviado

Os erros de NYX Singapore 1/2 e TriniumHost BR 01 são falhas externas de Lavalink (ECONNRESET / ETIMEDOUT). MilloHost e Serenetia conectaram normalmente, e o runtime terminou a inicialização. O heartbeat torna explícito que o processo continua vivo mesmo quando esses nós ficam silenciosos após esgotar retries.

## Problema `docker compose logs -f` pode parecer travado quando a Yue está saudável mas não há eventos novos. O container já possui healthcheck silencioso a cada 30s, então faltava apenas um sinal periódico no log do próprio bot. ## Correção - adiciona heartbeat do runtime a cada 5 minutos; - registra `discordReady`, quantidade de guilds, usuários e uptime; - emite warning quando o processo está vivo mas o Discord não está pronto; - integra o heartbeat ao lifecycle para encerrar o timer corretamente no shutdown; - adiciona teste do snapshot de saúde. ## Observação sobre o log enviado Os erros de NYX Singapore 1/2 e TriniumHost BR 01 são falhas externas de Lavalink (`ECONNRESET` / `ETIMEDOUT`). MilloHost e Serenetia conectaram normalmente, e o runtime terminou a inicialização. O heartbeat torna explícito que o processo continua vivo mesmo quando esses nós ficam silenciosos após esgotar retries.
Sign in to join this conversation.
No description provided.