Yao Yue, QCon San Francisco kapsamında yaptığı sunumda sistemlere ait ölçüm verilerinin sunulma biçiminin yeniden değerlendirilmesi çağrısında bulunuyor. Çoğu izleme panosunda varsayılan biçim hâline gelen çizgi grafik, temiz ve sürekli veriler için uygun olabilir; ancak zaman serileri çoğaldığında, gürültü arttığında veya sorulan soru temelde zamanla ilişkili olmadığında daha az yararlı hâle gelir.
Yue, aralarında birinci seviye hizmet için yedi yıl vardiya sistemiyle çalışmanın da bulunduğu, geniş ölçekli sistemleri işletme alanında 15 yıllık deneyime dayanıyor. Daha önce Twitter'da önbellekleme ekibine liderlik etti ve ardından performans ekibini kurdu. Kasım 2022'den sonra, akıllı performans mühendisliği yoluyla yazılım verimliliğini ve güvenilirliğini artırmaya çalışan IOP Systems'ın kurucu ortakları arasında yer aldı.
Sorun çizginin kendisinde değil
Yue, çizgi grafiğin yalnızca ölçüm noktalarını göstermediğini, aynı zamanda ardışık her iki noktanın arasına çizgiler çektiğini açıklıyor. Bu, verilerde gerçekte bulunmayan görsel birimleri eklemek anlamına geliyor; Yue bunu ölçümler arasındaki extrapolation, yani enterpolasyon olarak tanımlıyor. Veriler düzenli olduğunda bu yararlı olabilir; ancak özellikle aralarında ne olduğunu bilmediğimiz metriklerde, doğrudan bilgiye sahip olmadığımız iki ölçüm arasında bir seyir varmış izlenimi verebilir.
Sorun, çok sayıda örnek veya zaman serisi içeren sistemlerde daha da büyüyor. Çok sayıda çizgi ve renk izleme panosuna zengin bir görünüm kazandırabilir, ancak “Üretim oranı değişti mi?” veya “Yeni dağıtımda gözle görülür bir bozulma oldu mu?” gibi soruların yanıtını daha anlaşılır kılmaz. Pek çok durumda grafiği yalnızca ayrıntılara uzun süre bakarak inceleyen deneyimli bir mühendis yorumlayabilir; Yue bu yaklaşımı güvenilir mühendislik için uygun görmüyor.
Biçimi ölçümün niteliğine göre seçmek
Konuşmacı üç hususla başlanmasını öneriyor: verilerin biçimi, ölçümün türü ve ekibin bu verilerden ne öğrenmek istediği. Veriler yoğun olduğunda gürültüyü azaltmak ve eğilimleri öne çıkarmak için zaman pencereleri içindeki ortalamalar kullanılabilir veya minimum, maksimum ve ortalama hesaplanabilir. Ancak bu dönüşüm yalnızca grafiği güzelleştirmek için değil, sorulan soruya hizmet etmelidir.
Yue, verileri özetlemenin önemli farklılıkları gizleyebileceği konusunda uyarıyor. Ham değerler çizildiğinde veri kümelerinin biçimleri kökten farklı olsa bile aynı ortalamayı ve standart sapmayı paylaşabilmesini gösteren “Datasaurus” fikrinden söz ediyor. Bu nedenle bazı durumlarda noktaları çizgisiz göstermek daha dürüst olabilir; çünkü gerçek ölçümleri açıklığa kavuşturur ve belirsiz bir görsel seyir eklemez.
Sunuma göre ölçüm verilerinin çoğu üç temel türe ayrılır: sayaçlar, anlık ölçümler ve histogramlar. Zamanla artan sayaçlar çizgi grafiklere uygun olabilir; ancak izleme uygulamalarında genellikle gösterilen şey ham sayaç değil, istek veya hata oranı gibi ardışık iki değer arasındaki farktır. Yue, bu farkın parçalar veya çubuklar olarak gösterilmesinin kümülatif değişimi ve varyasyonu daha doğru biçimde açıklayabileceğini düşünüyor.
Anlık ölçümler ise iki okuma arasında kalan dönem hakkında hiçbir güvence vermez. Değer, iki ölçüm arasında yükselip düşebilir ve bu durum verilerde görünmeyebilir. Bu nedenle konuşmacı, noktaların olduğu gibi ve mümkün olan en az enterpolasyonla gösterilmesini tercih ediyor. Yanıt süresi söz konusu olduğunda tek bir değerin yeterli olmadığını, çünkü bunun tek bir sayıyı değil bir dağılımı temsil ettiğini vurguluyor. Histogramları, P99 ve P99.9 gibi kuyruk bilgilerini tek bir çizgiye indirgemek yerine korumak için daha iyi bir yöntem olarak değerlendiriyor.
Pratikte ne değişiyor?
Sunumdaki temel öneri, tüm çizgi grafiklerin değiştirilmesiyle değil, görselleştirmenin operasyonel soruyla ilişkilendirilmesiyle ilgili. Soru, yükün hizmet düzeyi anlaşması üzerindeki etkisiyse veriler, saniyede 500 veya 5000 istek gibi yük aralıklarına göre gruplandırılabilir ve ardından yanıt süresi dağılımlarıyla ilişkilendirilebilir. Böylece yük ile yanıt süresi arasında doğrudan bir ilişki ortaya çıkar; yükün zirve yaptığı anı bulmak için farklı günleri incelemek gerekmez.
Benzer şekilde, yazılımın iki sürümü karşılaştırılırken ölçümler sürüme göre gruplandırılabilir ve zamanın temel analiz ekseni hâline getirilmesine gerek kalmadan dağılımlar veya yüzdelik dilimler karşılaştırılabilir. Donanım türü seçilirken ise performans verilerinin sürüm türü ve fiyat gibi diğer bilgilerle bir araya getirilmesi ve gerçekten boyutlandırma kararını ilgilendiren unsurların karşılaştırıldığı bir tablo oluşturulması öneriliyor.
certi.news'in değerlendirmesi
Bu yaklaşım, görsel tasarımdaki bir sorunu olduğu kadar izleme araçlarının mimarisindeki bir kısıtı da ortaya koyuyor. Ölçüm depolama sistemleri genellikle bir yanda metrik adı ve etiketleri, diğer yanda değerler ve zaman damgaları etrafında inşa edilir. Bu durum, zaman içindeki değerle ilgili sorguları nispeten kolaylaştırırken yanıt süresini yükle ilişkilendirmek veya performansı yazılım sürümüne göre karşılaştırmak gibi bir metriğin değerlerini başka bir metriğin değerleriyle ilişkilendirmeyi zorlaştırır.
Pratikte bu, bir izleme panosunu iyileştirmenin her zaman yeni bir renk veya grafik seçmekle başlamadığı anlamına gelir; başlangıç noktası, panonun desteklemesi gereken kararın belirlenmesidir. Ekiplerin verileri yeniden gruplandırması veya zaman serisi veritabanının dışındaki kaynakları birleştirmesi gerekebilir. Bununla birlikte oturum, herkes için geçerli tek bir reçete sunmuyor; ölçümün türünün ve biçiminin, ayrıca sorulan sorunun en uygun gösterimi belirlediğini vurguluyor. Kaynak, mevcut her izleme aracının bu dönüşümleri otomatik olarak sağladığını da kanıtlamıyor. Bu nedenle deneme olanağı, ham verilere erişim ve her özetlemenin sınırlarını anlama, güvenilirlik ve performans mühendisliği ekipleri için açık pratik sorular olmaya devam ediyor.