Google Analytics Site Hızı özelliği nasıl _gaq.push(['_trackPageLoadTime'])
çalışır? Nasıl çalıştığına dair herhangi bir belge var mı?
Yanıtlar:
Düzenleme : 16 Kasım 2011 itibariyle , _trackPageLoadTime
işlev kullanımdan kaldırılmış ve işlevselliği varsayılan ayar olarak belirlenmiştir . (İşlevsel olarak konuşursak, bir tercih özelliği olmaktan çıkma özelliği haline geldi.)
_setSiteSpeedSampleRate
bu özellikte örnek oranını ayarlamak için yeni bir işlevdir; varsayılan değeri 1
(% 1'de olduğu gibi). Bu Site Hızı özelliğini kullanmaktan vazgeçmek için 0
, bu işleve bir geçmeniz gerekir :
_gaq.push(["_setSiteSpeedSampleRate", 0]);
Gönderen Google Analytics Yardım Merkezi'ndeki :
Bu rapor şu anda aşağıdaki tarayıcıları desteklemektedir: Chrome, Internet Explorer 9 ve Google Araç Çubuğu'nun yüklü olduğu Internet Explorer'ın önceki sürümleri. Daha spesifik olarak, Site Hızı raporları, HTML5 NavigationTiming arayüzünü destekleyen veya Google Internet Explorer araç çubuğunun yüklü olduğu tarayıcılar gerektirir.
Bu nedenle, bir sayfanın yüklenmesinin ne kadar sürdüğünü anlamak için önceki birçok geri dönüş çözümünün yaptığı gibi kendi zamanlayıcısını uygulamıyor. Bunun yerine, şu anda yalnızca yukarıda listelenen durumlarda desteklenen, NavigationTiming adlı yeni bir HTML5 özelliğini kullanır.
DÜZENLEME : Bu artık Firefox 7'de destekleniyor
(Her yüklemede çalışmadığını unutmayın; bunun yerine, şu anda sayfa görüntülemelerinin yaklaşık% 2'sini örneklemektedir, ancak ziyaretlerin% 10'unda tüm sayfa yüklemelerini izlemeye çalışacak şekilde yapılandırılmıştır ; daha fazla tarayıcı NavigationTiming API'sini desteklediğinden, toplam örnekleme yüzdesinin% 10'a yaklaşmaya başlamasını bekleyebilirsiniz.)
Bu arayüze DOM nesnesi altında window.performance
(veya Chrome'un önceki sürümlerinde window.webkitPerformance
) timing
(so, window.performance.timing
) özniteliği kullanılarak erişilir . Nesne, tüm temel sayfa yükleme olay zamanlarının ölçülen değerlerini depolar ve Google Analytics, sayfa yükleme hızını değerlendirmek için daha önemli dış değerlerden 2'sini çıkarır.
Önbelleği olmayan bir Mashable.com yüklemesi için, neyi ölçtüğüne dair bir örnek aşağıda verilmiştir (Chrome 11'de):
timing = {
connectEnd: 1306677079337,
connectStart: 1306677079337,
domComplete: 1306677083482,
domContentLoadedEventEnd: 1306677081765,
domContentLoadedEventStart: 1306677081576,
domInteractive: 1306677081576,
domLoading: 1306677079478,
domainLookupEnd: 1306677079337,
domainLookupStart: 1306677079337,
fetchStart: 1306677079337,
loadEventEnd: 1306677083483,
loadEventStart: 1306677083482,
navigationStart: 1306677079337,
redirectEnd: 0,
redirectStart: 0,
requestStart: 1306677079394,
responseEnd: 1306677079669,
responseStart: 1306677079476,
secureConnectionStart: 0,
unloadEventEnd: 0,
unloadEventStart: 0
}
Bu numaralar Ben onların değerlerini üretmek için çıkarma değerleri olarak hangi herhangi bir belge görmedim 1970. 1 Ocak beri çağ milisaniye veya milisaniye, ama bir üstünkörü muayene gelen ga.js'den , bu gibi görünüyor loadEventStart-fetchStart
:
h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);
Yukarıdaki örnek için bu , aramada 4,14 saniye kaydedeceği anlamına gelir _trackPageLoadTime
.
Yeni kaynak HTTP GET veya eşdeğeri kullanılarak getirilecekse, fetchStart, kullanıcı aracısı ilgili uygulama önbelleklerini kontrol etmeye başlamadan hemen önce zamanı döndürmelidir. Aksi takdirde, kullanıcı aracısının kaynağı almaya başladığı zamanı döndürmesi gerekir.
Bu öznitelik, geçerli belgenin yükleme olayının tetiklenmesinden hemen önceki zamanı döndürmelidir. Yükleme olayı henüz tetiklenmediğinde sıfır döndürmelidir.
Meraklı taraflar için sıralama aşağıdaki gibi görünüyor:
connectStart, connectEnd, domainLookupStart, domainLookupEnd, fetchStart, navigationStart, requestStart, responseStart, domLoading, responseEnd, domContentLoadedEventStart, domInteractive, domContentLoadedEventEnd, domComplete, loadEventStart, loadEventEnd
Listelenen 0 değerler için:
unloadEventStart
ve unloadEventStart
önceki sayfa yüklemesinin boşaltma zamanlarını gösterin (ancak bu sayfanın mevcut sayfayla aynı orijine sahip olması durumunda).
redirectEnd
ve redirectStart
sayfa yükleme zincirinde bir HTTP yönlendirmesi varsa eklenen gecikmeyi ölçün.
secureConnectionStart
SSL bağlantı süresini ölçmek için isteğe bağlı bir ölçüm gibi görünüyor.
secureConnectionStart
standart bir ölçümdür, ancak tarayıcının (veya içeriği işleyen her şeyin) rapor etmesi isteğe bağlıdır. w3c-test.org/webperf/specs/NavigationTiming/…
_trackPageLoadTime
bir kuyruğa ekleyin ve ardından, ga.js yüklendikten sonra bu kuyruktaki tüm işlevleri sırayla çalıştırın.ga.js
Eşzamansız olarak güvenli bir şekilde yüklemenizi sağlar .