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 პაკეტის მეშვეობით.