Junior — Middle
Ինչպես կարելի է մուտք գործել համակարգի հիմնական մետրիկաները?
sobes.tech AI
Պատասխան AI-ից
Go լեզվում հաճախ օգտագործվում է expvar փաթեթը՝ համակարգի հիմնական մետրիկաները ստանալու համար, որը թույլ է տալիս մետրիկաները արտահանել JSON ձևաչափով HTTP-ի միջոցով: Նույնպես հանրաճանաչ են երրորդ կողմի գրադարանները, օրինակ՝ Prometheus հաճախորդը Go-ի համար, որը հավաքում և տրամադրում է մետրիկաները հարմար ձևաչափով մոնիտորինգի համար:
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)
// Մետրիկաները հասանելի կլինեն /debug/vars-ով
http.ListenAndServe(":8080", nil)
}
Նույնպես հնարավոր է օգտագործել ստանդարտ համակարգային կանչեր և գրադարաններ՝ հիշողության, CPU բեռի և այլ մետրիկաների մասին տեղեկություններ ստանալու համար, օրինակ՝ runtime փաթեթի միջոցով։