Junior — Middle
Que ferramentas e tecnologias utilizas para recolher dados para monitorização e análise do desempenho do sistema?
sobes.tech IA
Resposta da IA
Para monitorizar e analisar o desempenho dos sistemas em Go, frequentemente utilizam-se as seguintes ferramentas e tecnologias:
- Prometheus — sistema de monitorização com suporte para recolha de métricas via HTTP. Em aplicações Go, pode usar a biblioteca cliente
prometheus/client_golangpara exportar métricas. - Grafana — visualização de dados, frequentemente usada juntamente com Prometheus para construir dashboards.
- pprof — perfilador integrado no Go que permite recolher dados sobre CPU, memória, bloqueios e goroutines.
- OpenTelemetry — padrão para recolha de traços e métricas, com suporte para Go.
Exemplo de exportação de métricas com Prometheus em Go:
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"net/http"
)
var opsProcessed = prometheus.NewCounter(prometheus.CounterOpts{
Name: "myapp_processed_ops_total",
Help: "O número total de eventos processados",
})
func init() {
prometheus.MustRegister(opsProcessed)
}
func main() {
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
opsProcessed.Inc() // incrementa o contador
time.Sleep(time.Second)
}
}()
http.ListenAndServe(":2112", nil)
}
Este método permite recolher e analisar o desempenho em tempo real.