Junior — Middle
Με ποιους τρόπους μπορεί κανείς να αποκτήσει πρόσβαση στα βασικά metrics του συστήματος;
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.