Sobes.tech
Junior — Middle

W jaki sposób można zintegrować system metryk z oprogramowaniem?

sobes.tech AI

Odpowiedź od AI

Integracja systemu metryk w oprogramowaniu pozwala na śledzenie wydajności, błędów i zachowania aplikacji. Główne sposoby integracji:

  1. Użycie bibliotek monitorujących — na przykład klient Prometheus dla Go. W kodzie dodawane są wywołania do zbierania metryk (liczniki, histogramy, timery).

  2. Eksponowanie metryk przez endpoint HTTP — aplikacja otwiera specjalny URL, z którego system monitorowania zbiera dane.

  3. Logowanie metryk — zapisywanie metryk w logach, które następnie są przetwarzane przez zewnętrzne systemy.

  4. Narzędzia APM (Application Performance Monitoring) — integracja z zewnętrznymi serwisami (Datadog, New Relic), które zbierają i wizualizują metryki.

Przykład z Prometheus w Go:

import (
    "github.com/prometheus/client_golang/prometheus"
    "github.com/prometheus/client_golang/prometheus/promhttp"
    "net/http"
)

var opsProcessed = prometheus.NewCounter(prometheus.CounterOpts{
    Name: "myapp_processed_ops_total",
    Help: "Łączna liczba przetworzonych zdarzeń",
})

func init() {
    prometheus.MustRegister(opsProcessed)
}

func handler(w http.ResponseWriter, r *http.Request) {
    opsProcessed.Inc()
    w.Write([]byte("Witaj, Metryki!"))
}

func main() {
    http.HandleFunc("/", handler)
    http.Handle("/metrics", promhttp.Handler())
    http.ListenAndServe(":2112", nil)
}

W ten sposób metryki są zbierane i dostępne dla systemów monitorowania.