Senior
Qaysi o'lchovlar? Bu o'lchovlarni qanday asboblar bilan yozamiz?
sobes.tech AI
AIdan javob
Metrikalar — bu, iloji boricha, iloviy ko'rsatkichlar bo'lib, ular ilova yoki tizim holati va ishlashini kuzatishga imkon beradi. Golang va xizmatlar ishlab chiqish kontekstida odatda javob vaqti, so'rovlar soni, xatoliklar, xotira va CPU ishlatilishi kabi metrikalar yig'iladi.
Metrikalarni yig'ish va eksport qilish uchun ko'pincha quyidagi vositalar va kutubxonalar ishlatiladi:
- Prometheus — pull modelini qo'llab-quvvatlaydigan monitoring va metriklarni yig'ish tizimi.
- OpenTelemetry — telemetriya (metriks, loglar, izlar) yig'ish uchun standart.
- Go klient kutubxonalari — masalan,
prometheus/client_golangPrometheus bilan integratsiya uchun.
Go tilida Prometheusdan foydalanish misoli:
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 so'rovlarining umumiy soni",
},
[]string{"path"},
)
)
func init() {
prometheus.MustRegister(requestCount)
}
func handler(w http.ResponseWriter, r *http.Request) {
requestCount.WithLabelValues(r.URL.Path).Inc()
w.Write([]byte("Salom, metrikalar!"))
}
func main() {
http.HandleFunc("/", handler)
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":8080", nil)
}
Shu tarzda, metrikalar ilovaning holatini kuzatishga va muammolar yuzaga kelganda tezda javob berishga yordam beradi.