Sobes.tech
Назад к вопросам
Junior — Middle
81

Какими способами можно получить доступ к ключевым метрикам системы?

Ответ от нейросети

sobes.tech AI

В Go для получения ключевых метрик системы часто используют пакет expvar, который позволяет экспортировать метрики в формате JSON по HTTP. Также популярны сторонние библиотеки, например, Prometheus client для 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 пакет.