Junior — Middle
¿De qué maneras se puede acceder a las métricas clave del sistema?
sobes.tech AI
Respuesta de la IA
En Go, para obtener métricas clave del sistema, a menudo se utiliza el paquete expvar, que permite exportar métricas en formato JSON a través de HTTP. También son populares las bibliotecas de terceros, por ejemplo, el cliente de Prometheus para Go, que recopila y proporciona métricas en un formato conveniente para la monitorización.
Ejemplo usando 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)
// Las métricas estarán disponibles en /debug/vars
http.ListenAndServe(":8080", nil)
}
También se pueden usar llamadas al sistema y bibliotecas estándar para obtener información sobre memoria, carga de CPU y otras métricas, por ejemplo, a través del paquete runtime.