Sobes.tech
Junior — Middle

Que métodos de monitorização e diagnóstico do estado do servidor conheces?

sobes.tech IA

Resposta da IA

Para monitorização e diagnóstico do estado do servidor em Go, frequentemente utilizam-se os seguintes métodos:

  • Profiling com pprof — pacote incorporado para recolher perfis de CPU, memória, bloqueios e goroutines. Permite identificar gargalos e fugas.

  • Registo de logs — recolha e análise de logs do servidor para identificar erros e anomalias.

  • Métricas com Prometheus — exportação de métricas (por exemplo, número de pedidos, tempo de resposta, uso de memória) e visualização através do Grafana.

  • Verificações de saúde (health checks) — endpoints HTTP especiais que retornam o estado do servidor.

  • Tracing de pedidos (tracing) — uso do OpenTelemetry ou Jaeger para rastrear cadeias de chamadas.

Exemplo de uso do pprof:

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // código principal do servidor
}

Após o arranque, pode abrir http://localhost:6060/debug/pprof/ para análise.