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

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.
| CrUX | Kendi RUM sisteminiz | |
|---|---|---|
| Tarayıcılar | Yalnızca uygun Chrome kullanıcıları | Ölçüm API'lerini destekleyen tüm tarayıcılar |
| Sayfalar | Herkese açık ve popüler olanlar | Betik yüklenen her sayfa |
| Gecikme | Günler, 28 günlük pencere | Dakikalar |
| Ek boyutlar | Cihaz türü, ülke | Şablon, sürüm, A/B varyantı, oturum durumu… |
| Teşhis bilgisi | Yok | LCP öğ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.

