Junior — Middle
Na koje načine se može pristupiti ključnim metrima sistema?
sobes.tech АИ
Одговор од АИ
U jeziku Go često se koristi paket expvar za dobijanje ključnih sistemskih metrika, koji omogućava eksportovanje metrika u JSON formatu putem HTTP-a. Takođe su popularne biblioteke trećih strana, na primer, klijent Prometheus za Go, koji prikuplja i pruža metrike u formatu pogodan za monitoring.
Primer sa korišćenjem 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)
// Metrike će biti dostupne na /debug/vars
http.ListenAndServe(":8080", nil)
}
Takođe, možete koristiti standardne sistemske pozive i biblioteke za dobijanje informacija o memoriji, opterećenju CPU-a i drugim metrikama, na primer, putem paketa runtime.