Junior — Middle
Auf welche Weise kann man auf die Schlüsselmetriken des Systems zugreifen?
sobes.tech KI
Antwort von AI
In Go werden häufig das Paket expvar verwendet, um wichtige Systemmetriken zu erhalten, das es ermöglicht, Metriken im JSON-Format über HTTP zu exportieren. Beliebt sind auch Drittanbieter-Bibliotheken, z.B. der Prometheus-Client für Go, der Metriken sammelt und in einem Monitoring-freundlichen Format bereitstellt.
Beispiel mit 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)
// Metriken sind unter /debug/vars verfügbar
http.ListenAndServe(":8080", nil)
}
Es ist auch möglich, Standard-Systemaufrufe und Bibliotheken zu verwenden, um Informationen über Speicher, CPU-Auslastung und andere Metriken zu erhalten, z.B. über das runtime-Paket.