CodeBlanks Logo Icon CodeBlanks

Metrics

  • Go kursu
  • İleri seviye
  • Ders 60/68
  • 4 dk

Prometheus tarzı metrik kavramını öğrenirsin.

Metrikler

Metrikler sistemin sayısal durumunu zaman içinde izler. Üç temel tür vardır: counter (yalnızca artar: toplam istek), gauge (artar/azalır: aktif bağlantı), histogram (değerlerin dağılımı: yanıt süreleri).

istekSayisi.Inc()
aktifBaglanti.Set(12)
sure.Observe(0.043)

Prometheus gibi sistemler bu değerleri /metrics uç noktasından düzenli aralıklarla toplar.

Neden histogram?

Ortalama yanıt süresi yanıltıcıdır: 99 istek 10 ms, 1 istek 5 saniye sürerse ortalama 60 ms görünür ama bir kullanıcı çok kötü deneyim yaşar. Histogram süreleri kovalara ayırır ve p95, p99 gibi yüzdelikleri hesaplamanı sağlar. Standart kütüphanede expvar basit sayaçlar sunar; üretimde genellikle Prometheus istemcisi veya OpenTelemetry kullanılır.

Uygulama expvar sayacı

expvar.NewInt("istekler") ile sayaç oluştur, bir döngüde 5 kez Add(1) çağır ve Value() sonucunu yazdır.

Başlangıç kodu

main.go
package main

import (
    "expvar"
    "fmt"
)

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import (
    "expvar"
    "fmt"
)

func main() {
    istekler := expvar.NewInt("istekler")
    for i := 0; i < 5; i++ {
        istekler.Add(1)
    }
    fmt.Println(istekler.Value())
}

Beklenen çıktı

5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bellekteki kuyruk uzunluğu hangi metrik türüyle izlenir?

  • Gauge Doğru cevap
  • Counter
  • Histogram
  • Log

Açıklama: Kuyruk uzunluğu artıp azalabilir; counter ise yalnızca artar. Anlık değerler gauge ile ölçülür.

2 Sayacı artır

Soru
var istekler = expvar.NewInt("istekler")

istekler.____(1)
Cevap
var istekler = expvar.NewInt("istekler")

istekler.Add(1)

Açıklama: expvar.Int sayacı Add ile artırılır; değer /debug/vars uç noktasında yayınlanır.

3 Ölçüm ve tür

Kavram Anlamı
Toplam istek Counter
Aktif bağlantı Gauge
Yanıt süresi dağılımı Histogram
p99 Yüzdelik

İleri seviye bölümündeki tüm dersler