Sobes.tech
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 փաթեթի միջոցով։