İletişim

RUM (Gerçek Kullanıcı İzleme) Nedir?

Kısa tanım

Gerçek kullanıcı izleme (RUM, Real User Monitoring), bir sitenin performansını ziyaretçilerin tarayıcılarında çalışan küçük bir betikle ölçüp sonuçları bir sunucuya gönderme yöntemidir. Core Web Vitals, sayfa yükleme süreleri ve JavaScript hataları gibi veriler her ziyaret için toplanır, ardından sayfa, cihaz, ülke veya sürüm gibi boyutlara göre analiz edilir. CrUX'ten farklı olarak veri size aittir ve tüm tarayıcıları kapsayabilir.

Diğer adları: Real User Monitoring, RUM, gerçek kullanıcı ölçümü, end-user monitoring, web-vitals kütüphanesi

Farklı cihaz ve bağlantılardaki gerçek kullanıcı oturumlarının performans ölçümlerini bir RUM toplayıcısına gönderdiği diyagram

Kendi saha veriniz

CrUX herkese açık ve ücretsizdir ama sınırları vardır: yalnızca uygun koşulları taşıyan Chrome kullanıcılarını kapsar, yalnızca herkese açık ve yeterince popüler sayfaları içerir, 28 günlük toplamlar hâlinde ve gecikmeli gelir. RUM ise sizin kurduğunuz ölçümdür. Giriş yapılmış panel sayfaları, noindex olan ödeme adımı ya da dün yayına çıkan yeni bir şablon da ölçülür; veriyi istediğiniz boyutta kırabilir ve birkaç dakika içinde görebilirsiniz.

CrUXKendi RUM sisteminiz
TarayıcılarYalnızca uygun Chrome kullanıcılarıÖlçüm API'lerini destekleyen tüm tarayıcılar
SayfalarHerkese açık ve popüler olanlarBetik yüklenen her sayfa
GecikmeGünler, 28 günlük pencereDakikalar
Ek boyutlarCihaz türü, ülkeŞablon, sürüm, A/B varyantı, oturum durumu…
Teşhis bilgisiYokLCP öğesi, yavaş etkileşimin hedefi vb.

Tarayıcıda ölçüm nasıl yapılır?

Tarayıcılar performans verisini Navigation Timing, Resource Timing, Event Timing gibi API'ler ve PerformanceObserver ile sunar. Core Web Vitals'ı bu API'lerden doğru hesaplamak, CLS'nin oturum pencereleri ya da INP'nin etkileşim seçimi gibi ayrıntılar nedeniyle göründüğünden zordur. Bu yüzden Google'ın açık kaynaklı web-vitals kütüphanesi yaygın bir başlangıç noktasıdır:

import { onLCP, onINP, onCLS } from 'web-vitals';

function gonder(metric) {
  const body = JSON.stringify({
    name: metric.name,      // "LCP", "INP", "CLS"
    value: metric.value,
    rating: metric.rating,  // "good" | "needs-improvement" | "poor"
    id: metric.id,
    page: location.pathname
  });
  // Sayfa kapanırken bile veriyi göndermeye çalışır
  navigator.sendBeacon('/rum', body);
}

onLCP(gonder);
onINP(gonder);
onCLS(gonder);

Kütüphanenin “attribution” sürümü (web-vitals/attribution), her metriğe teşhis bilgisi ekler: LCP öğesinin seçicisi, kayan öğe, yavaş etkileşimin hangi elemana yapıldığı gibi. Sorunu bulmayı en çok hızlandıran kısım budur. Bazı metriklerin tüm tarayıcılarda bulunmadığını da hesaba katın; desteklemeyen tarayıcıdan o metrik için hiç değer gelmez.

Veriyi anlamlı kılmak

  • Ortalamaya değil yüzdeliğe bakın. Performans verisi çarpık dağılır; p75 ve p95 değerleri ortalamadan çok daha fazlasını anlatır.
  • Boyut ekleyin. Sayfa şablonu, cihaz türü, ülke, bağlantı tipi ve yayın sürümü, bir gerilemenin nereden geldiğini bulmayı kolaylaştırır.
  • Örnekleme yapın. Yüksek trafikli sitelerde her ziyareti saklamak gereksiz maliyettir; rastgele bir yüzdelik dilim istatistiksel olarak yeterlidir.
  • Uyarı kurun. Bir yayından sonra p75 INP belirgin şekilde yükselirse ekibin bunu CrUX'ten haftalar önce öğrenmesi gerekir.

Kurulum seçenekleri

Üç yaygın yol vardır. Birincisi kendi uç noktanızı yazıp veriyi kendi veritabanınızda toplamaktır; esnektir ama sorgu ve görselleştirme işi size kalır. İkincisi metrikleri web analitiği aracınıza olay olarak göndermektir; kurulumu kolaydır, ancak analitik araçları dağılım analizi için tasarlanmamıştır. Üçüncüsü ticari RUM ya da APM ürünleridir; hazır panolar ve hata izleme ile gelir. Hangisi seçilirse seçilsin, RUM verisi sunucu logları ve dağıtık izleme ile birlikte gözlemlenebilirlik yapısının bir parçası olarak düşünülmelidir.

Gizlilik ve ağırlık

RUM betiği de sayfaya yük bindirir; birkaç kilobaytı aşmamalı ve ana içeriği geciktirmemelidir. Gönderilen veriye dikkat edin: URL'lerdeki sorgu parametreleri e-posta adresi ya da sipariş numarası gibi kişisel veriler taşıyabilir. Performans ölçümünde kullanıcıyı tanımlayan bir kimliğe genellikle ihtiyaç yoktur. Çerez ya da kalıcı kimlik kullanıyorsanız çerez onayı gereklilikleri devreye girebilir; bu noktada hukuki değerlendirme yapılması gerekir.

İlgili terimler

← Sözlüğe dön