Ana içeriğe geç

Metrikler

İngilizcesi
Metrics
Türkçe karşılığı
ölçümler
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/metrics

Kısaca

Metrikler, bir sistemden zamanla toplanan istek oranı, hata oranı ve CPU kullanımı gibi sayısal ölçümlerdir; panolar, uyarılar ve planlama için kullanılır.

Yazılım izlemede metrikler nelerdir?

Yazılım operasyonlarında metrikler, bir sistemin durumunu ya da davranışını tanımlayan ve düzenli aralıklarla kaydedilen sayılardır. Örnekler arasında saniyedeki istek sayısı, başarısız isteklerin yüzdesi, yanıt süresi, bellek kullanımı ve kuyrukta bekleyen iş sayısı bulunur. Her veri noktası yalnızca bir ad, bir değer, bir zaman damgası ve birkaç etiketten (label) oluştuğu için metrikleri saklamak ucuzdur ve aylar süren geçmiş üzerinde bile hızlı sorgulanır.

Metriklerin çoğu birkaç türe ayrılır: counter yalnızca artar, örneğin sunulan toplam istek sayısı; gauge inip çıkar, örneğin anlık bellek kullanımı; histogram ise ölçümleri kovalara ayırır, örneğin kaç isteğin 100, 250 ya da 500 milisaniyenin altında sürdüğü, ve p95 ile p99 gibi yüzdelikleri hesaplamanıza olanak tanır. Uygulamalar metrikleri bir kütüphane üzerinden sunar; bir izleme sistemi bunları her birkaç saniyede, çoğunlukla bir HTTP uç noktasını tarayarak toplar ve bir zaman serisi veritabanında saklar. route ya da status gibi etiketler bir metriği dilimlemenize izin verir, ancak her benzersiz kombinasyon yeni bir seri oluşturur; bu yüzden kullanıcı kimlikleri gibi sınırsız değerlere sahip etiketlerden, yani yüksek kardinaliteden (high cardinality) kaçınılmalıdır.

Metrikler bir arabanın gösterge panelindeki göstergeler gibidir: hız, yakıt ve motor sıcaklığı, her olayı anlatmadan işlerin normal olup olmadığını bir bakışta söyler. Gösterge panellerine, uyarılara, otomatik ölçekleme kararlarına ve SLO'lara güç verirler. Popüler bir başlangıç kümesi, site reliability engineering'den gelen dört altın sinyaldir: gecikme (latency), trafik, hatalar ve doygunluk (saturation), yani bir kaynağın ne kadar dolu olduğu.

Metrikler sıklıkla log'larla karıştırılır. Bir log satırı tek bir olayı zengin ayrıntıyla kaydeder; metrik ise birçok olayı bir sayıda toplar. Yani metrik size hataların saat 14:02'de sıçradığını söyler, log'lar veya trace'ler ise nedenini söyler. Ortalamalar da yanıltıcı olabilir: 200 milisaniyelik bir ortalama yanıt süresi, kullanıcıların %1'inin beş saniye beklediğini gizleyebilir; ekiplerin yüzdelikleri izlemesinin nedeni budur.

Önemli noktalar

  • Metrikler, zaman içinde kaydedilen ve zaman serisi olarak saklanan sayısal ölçümlerdir.
  • Yaygın türler counter, gauge ve histogram'dır.
  • p95 ve p99 gibi yüzdelikler, ortalamaların gizlediği yavaş istekleri ortaya çıkarır.
  • Etiketler boyut ekler, ancak kullanıcı kimlikleri gibi yüksek kardinaliteli etiketler maliyet sorunlarına yol açar.
  • Metrikler bir şeyin değiştiğini gösterir; log'lar ve trace'ler nedenini açıklamaya yardımcı olur.

Örnek

Python'da bir counter ve bir histogram sunmakpython
from prometheus_client import Counter, Histogram, start_http_server

# A counter only goes up; labels let you slice it by route and status
REQUESTS = Counter("http_requests_total", "Requests served", ["route", "status"])
# A histogram sorts durations into buckets so percentiles can be calculated
LATENCY = Histogram("http_request_duration_seconds", "Request duration", ["route"])

start_http_server(9100)  # serves the metrics for the monitoring system to scrape

def handle_checkout(request):
    with LATENCY.labels(route="/checkout").time():
        response = process(request)
    REQUESTS.labels(route="/checkout", status=response.status).inc()
    return response

Sık sorulan sorular

Counter ile gauge arasındaki fark nedir?

Counter, toplam istek sayısı gibi yalnızca artan bir değerdir ve genellikle saniyedeki oran olarak görüntülenir. Gauge ise anlık bellek kullanımı ya da etkin bağlantı sayısı gibi inip çıkabilen bir değerdir.

Dört altın sinyal nedir?

Bunlar gecikme, trafik, hatalar ve doygunluktur; site reliability engineering'de kullanıcıya dönük herhangi bir hizmeti izlemek için önerilen bir metrik kümesidir. Birlikte hizmetin ne kadar hızlı olduğunu, ne kadar kullanıldığını, ne sıklıkta başarısız olduğunu ve sınırlarına ne kadar yaklaştığını gösterir.

p99 gecikmesi ne demektir?

p99 gecikmesi, isteklerin %99'unun daha hızlı olduğu yanıt süresidir; yani yalnızca en yavaş %1 daha uzun sürer. Bir ortalamanın gizlediği, uzun kuyruktaki kullanıcıların yaşadığı deneyimi gösterir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar