Sobes.tech
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.