Junior — Middle
Jakým způsobem lze získat přístup ke klíčovým metrikám systému?
sobes.tech AI
Odpověď od AI
V jazyce Go se často používá balíček expvar k získání klíčových systémových metrik, který umožňuje exportovat metriky ve formátu JSON přes HTTP. Také jsou populární knihovny třetích stran, například klient Prometheus pro Go, který sbírá a poskytuje metriky ve formátu vhodném pro monitorování.
Příklad s použitím expvar:
import (
"expvar"
"net/http"
)
var requests = expvar.NewInt("requests")
func handler(w http.ResponseWriter, r *http.Request) {
requests.Add(1)
w.Write([]byte("Hello, metrics!"))
}
func main() {
http.HandleFunc("/", handler)
// Metriky budou dostupné na /debug/vars
http.ListenAndServe(":8080", nil)
}
Také je možné použít standardní systémové volání a knihovny pro získání informací o paměti, zatížení CPU a dalších metrikách, například přes balíček runtime.