Junior — Middle
Sistemin temel metriklerine nasıl erişilebilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, sistemin anahtar metriklerini almak için sıklıkla expvar paketi kullanılır; bu paket, metrikleri HTTP üzerinden JSON formatında dışa aktarmayı sağlar. Ayrıca, Prometheus istemcisi gibi üçüncü taraf kütüphaneler de popülerdir; bunlar, metrikleri toplar ve izleme için uygun bir formatta sağlar.
expvar kullanımıyla örnek:
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)
// Metrikler /debug/vars altında erişilebilir
http.ListenAndServe(":8080", nil)
}
Ayrıca, bellek, CPU yükü ve diğer metrikler hakkında bilgi almak için standart sistem çağrıları ve kütüphaneler de kullanılabilir; örneğin, runtime paketi aracılığıyla.