Senior
Hansı metriklər? Bu metrikləri hansı alətlərlə yazacağıq?
sobes.tech Süni İntellekt
AI-dan cavab
Metrikalar, tətbiq və ya sistemin vəziyyətini və performansını izləməyə imkan verən kəmiyyət göstəriciləridir. Golang və xidmətlərin inkişafı kontekstində, adətən cavab vaxtı, sorğu sayı, səhvlər, yaddaş və CPU istifadəsi kimi metriklər toplanır.
Metrikləri toplamaq və ixrac etmək üçün tez-tez alətlər və kitabxanalar istifadə olunur, məsələn:
- Prometheus — pull modelini dəstəkləyən monitorinq və metriklərin toplanması sistemi.
- OpenTelemetry — telemetriyanın (metriks, loglar, izləmələr) toplanması üçün standart.
- Go müştəri kitabxanaları — məsələn,
prometheus/client_golangPrometheus ilə inteqrasiya üçün.
Go-da Prometheus-un istifadəsinə nümunə:
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"net/http"
)
var (
requestCount = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "http_requests_total",
Help: "HTTP sorğularının ümumi sayı",
},
[]string{"path"},
)
)
func init() {
prometheus.MustRegister(requestCount)
}
func handler(w http.ResponseWriter, r *http.Request) {
requestCount.WithLabelValues(r.URL.Path).Inc()
w.Write([]byte("Salam, metriklər!"))
}
func main() {
http.HandleFunc("/", handler)
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":8080", nil)
}
Bu şəkildə, metriklər tətbiqin vəziyyətini izləməyə və problemlərə vaxtında cavab verməyə kömək edir.