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