Sobes.tech
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.