CacheMetricsService Hazelcast önbellek, API Performans, JVM ve Sistem Sağlığı hakkında çeşitli metrikler toplar. Bu metrikler şu kategorilere ayrılır.

  1. Hazelcast önbellek istatistikleri
  2. API performans metrikleri
  3. JVM
  4. Sistem Metrikleri

Prometheus Metrik Tipleri

Cache metrikleri, Prometheus'un dört metrik tipi kullanılarak toplanır. Bu tipler, farklı veri türlerini ve davranışlarını en iyi şekilde temsil etmek üzere tasarlanmıştır. Her metrik tipi, veriyi nasıl topladığınıza ve nasıl analiz edeceğinize bağlı olarak farklı amaçlara hizmet eder.

Counter

Counter (Sayaç), yalnızca artan bir değerdir. Uygulama çalışırken sıfırdan başlayarak artar ve yalnızca uygulama yeniden başlatıldığında sıfırlanır. Counter tipi metrikler, toplam istek sayısı, hata sayısı veya tamamlanan işlem sayısı gibi sürekli artan değerleri izlemek için idealdir.

Kullanılabilecek İşlemler:

  • sum: Toplam değerin kendisi.
  • rate: Zaman içindeki artış hızını hesaplar (saniyede ne kadar arttığı gibi).
  • increase: Belirli bir zaman aralığındaki toplam artışı hesaplar.

Gauge

Gauge (Gösterge), anlık bir değeri temsil eder. Bu değer artabilir, azalabilir veya sabit kalabilir. Gauge tipi metrikler, mevcut bellek kullanımı, anlık CPU kullanımı veya aktif çalışan thread sayısı gibi bir anlık durumu veya seviyeyi izlemek için kullanılır.

Kullanılabilecek İşlemler:

  • sum: Etiketlere göre gruplanmış Gauge değerlerinin toplamı.
  • mean (ortalama): Etiketlere göre gruplanmış Gauge değerlerinin ortalaması.
  • min/max: Etiketlere göre gruplanmış değerlerin minimum veya maksimumu.

Timer

Timer (Zamanlayıcı), bir işlemin ne kadar sürdüğünü (genellikle milisaniye veya saniye cinsinden) ölçer. Teknik olarak Prometheus'ta özel bir tip olmasa da, Micrometer gibi kütüphaneler tarafından DistributionSummary ve Counter kombinasyonuyla oluşturulan bir metriktir. Bu metrikler, ortalama süre, maksimum süre ve yüzdelik dilimler gibi bilgileri sağlar.

Kullanılabilecek İşlemler:

  • sum: Toplam süreyi verir.
  • count: İşlemin toplam kaç kez yapıldığını verir.
  • mean (ortalama): İşlemin ortalama süresini hesaplar.
  • max: Gözlemlenen en uzun süreyi verir.
  • histogram_quantile: Yüzdelik dilimleri hesaplar.

Summary

Summary (Özet), gözlemlenen değerlerin hem toplamını hem de önceden belirlenmiş yüzdelik dilimlerini (quantiles) hesaplayan bir metriktir. Timer ve DistributionSummary'den farkı, yüzdelik dilimleri direkt olarak kendisi toplamasıdır; bu da sorgu zamanında değil, metrik toplanırken hesaplandığı için yüzdelik dilimlerin daha doğru olmasını sağlar.

Kullanılabilecek İşlemler:

  • sum: Gözlemlenen değerlerin toplamı.

  • count: Gözlemlenen değerlerin sayısı.

  • Belirlenmiş yüzdelik dilimler (<metric_name>{quantile="0.99"}).

Önbellek Metrikleri

Bu metrikler, Cache'in önbellek performansını izler. Önbellek aramaları, eklemeleri ve gecikmeleri takip edilerek verimlilik analiz edilir. Ayrıca, bellek maliyeti ve bölümler bazında dağılım ölçülür.

MetrikAçıklamaTür
cache_gets_totalToplam önbellek aramaları (isabet ve ıskalamalar)Counter
cache_puts_totalToplam önbellek eklemeleriCounter
cache_sizeÖnbellekteki mevcut girdi sayısıGauge
cache_entriesÖnbellek bölümü başına girdi sayısıGauge
cache_entry_memory_bytesÖnbellek girdilerinin bellek maliyetiGauge
cache_gets_latency_secondsÖnbellek erişim gecikmesiSummary
cache_puts_latency_secondsÖnbellek ekleme gecikmesiSummary
cache_removals_latency_secondsÖnbellek kaldırma gecikmesiSummary

API Metrikleri

Bu metrikler, Cache'in API’lerinin performansını izler. İstek sayısı, yanıt süresi ve hata oranları gibi verilerle API performansı değerlendirilir.

MetrikAçıklamaTür
apinizer_cache_api_requests_totalToplam API istek sayısıCounter
apinizer_cache_api_response_timeAPI yanıt süresi (saniye)Timer
apinizer_cache_api_errors_totalToplam API hata sayısıCounter

JVM Metrikleri

Bu metrikler, Cache'in bellek ve iş parçacığı kullanımını izler. Bellek kullanımı, GC (Garbage Collection) duraklatma süreleri ve aktif iş parçacıkları gibi verilerle JVM performansı analiz edilir.

MetrikAçıklamaTür
jvm_memory_used_bytesAlana göre bellek kullanımı (heap/non-heap)Gauge
jvm_memory_committed_bytesAlana göre ayrılmış bellekGauge
jvm_memory_max_bytesAlana göre maksimum bellekGauge
jvm_gc_pause_secondsGC duraklatma süresiSummary
jvm_threads_live_threadsMevcut canlı iş parçacığı sayısıGauge
jvm_threads_daemon_threadsMevcut daemon iş parçacığı sayısıGauge

Sistem Metrikleri

Bu metrikler, Cache'in CPU kullanımı, işlemci sayısı ve yük ortalaması gibi verilerle genel performansını izler. Ayrıca, işlem süresi ve açık dosya sayıları gibi verilerle kaynak kullanımı değerlendirilir.

MetrikAçıklamaTür
system_cpu_usageAna sistemin CPU kullanımıGauge
system_cpu_countKullanılabilir işlemci sayısıGauge
system_load_average_1mSistem yük ortalaması (1 dakika)Gauge
process_cpu_usageJVM işleminin CPU kullanımıGauge
process_uptime_secondsJVM işleminin çalışma süresiGauge
process_files_open_filesAçık dosya tanımlayıcı sayısıGauge