Sobes.tech
Junior — Middle

Na koje načine se može pristupiti ključnim metrima sistema?

sobes.tech АИ

Одговор од АИ

U jeziku Go često se koristi paket expvar za dobijanje ključnih sistemskih metrika, koji omogućava eksportovanje metrika u JSON formatu putem HTTP-a. Takođe su popularne biblioteke trećih strana, na primer, klijent Prometheus za Go, koji prikuplja i pruža metrike u formatu pogodan za monitoring.

Primer sa korišćenjem 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)
    // Metrike će biti dostupne na /debug/vars
    http.ListenAndServe(":8080", nil)
}

Takođe, možete koristiti standardne sistemske pozive i biblioteke za dobijanje informacija o memoriji, opterećenju CPU-a i drugim metrikama, na primer, putem paketa runtime.