Junior — Middle
Kā piekļūt sistēmas galvenajiem rādītājiem?
sobes.tech AI
Atbilde no AI
Go valodā bieži izmanto expvar paketi, kas ļauj eksportēt galvenās sistēmas metriku datus JSON formātā caur HTTP. Tāpat populāras ir trešo pušu bibliotēkas, piemēram, Prometheus klients Go, kas savāc un nodrošina metriku datus ērtā monitoringa formātā.
Piemērs ar 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)
// Metrikas būs pieejamas pie /debug/vars
http.ListenAndServe(":8080", nil)
}
Tāpat ir iespējams izmantot standarta sistēmas izsaukumus un bibliotēkas, lai iegūtu informāciju par atmiņu, CPU slodzi un citām metriku, piemēram, caur runtime paketi.