Junior — Middle
In che modo è possibile accedere alle metriche chiave del sistema?
sobes.tech AI
Risposta dell'AI
In Go, per ottenere le metriche chiave del sistema, si utilizza spesso il pacchetto expvar, che consente di esportare le metriche in formato JSON tramite HTTP. Sono anche popolari librerie di terze parti, come il client Prometheus per Go, che raccoglie e fornisce metriche in un formato adatto al monitoraggio.
Esempio con 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)
// Le metriche saranno disponibili su /debug/vars
http.ListenAndServe(":8080", nil)
}
È anche possibile utilizzare chiamate di sistema standard e librerie per ottenere informazioni sulla memoria, carico della CPU e altre metriche, ad esempio tramite il pacchetto runtime.