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