Junior — Middle
Jaké nástroje a technologie používáš k shromažďování dat pro sledování a analýzu výkonu systému?
sobes.tech AI
Odpověď od AI
Pro sledování a analýzu výkonu systémů v Go se často používají následující nástroje a technologie:
- Prometheus — monitorovací systém s podporou sběru metrik přes HTTP. V Go aplikacích lze použít knihovnu klienta
prometheus/client_golangk exportu metrik. - Grafana — vizualizace dat, často používaná spolu s Prometheus pro tvorbu dashboardů.
- pprof — vestavěný profiler v Go, který umožňuje sběr dat o CPU, paměti, zámcích a goroutines.
- OpenTelemetry — standard pro sběr tras a metrik, s podporou pro Go.
Příklad exportu metrik s Prometheus v 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: "Celkový počet zpracovaných událostí",
})
func init() {
prometheus.MustRegister(opsProcessed)
}
func main() {
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
opsProcessed.Inc() // zvýšení čítače
time.Sleep(time.Second)
}
}()
http.ListenAndServe(":2112", nil)
}
Tento přístup umožňuje sběr a analýzu výkonu v reálném čase.