Junior — Middle
Akými spôsobmi je možné získať prístup ku kľúčovým metrikám systému?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa často používa balík expvar na získanie kľúčových systémových metrík, ktorý umožňuje exportovať metriky vo formáte JSON cez HTTP. Tiež sú populárne knižnice tretích strán, napríklad klient Prometheus pre Go, ktorý zbiera a poskytuje metriky v formáte vhodnom pre monitorovanie.
Prí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 budú dostupné na /debug/vars
http.ListenAndServe(":8080", nil)
}
Tiež je možné použiť štandardné systémové volania a knižnice na získanie informácií o pamäti, zaťažení CPU a ďalších metrikách, napríklad cez balík runtime.