Jak działa funkcja Google Analytics Site Speed,, _gaq.push(['_trackPageLoadTime'])
? Czy jest jakaś dokumentacja na temat tego, jak to działa?
102
Jak działa funkcja Google Analytics Site Speed,, _gaq.push(['_trackPageLoadTime'])
? Czy jest jakaś dokumentacja na temat tego, jak to działa?
_trackPageLoadTime
do kolejki, a następnie uruchom wszystkie funkcje w tej kolejce sekwencyjnie po załadowaniu ga.js. Pozwala na bezpieczne ładowaniega.js
asynchroniczne.Odpowiedzi:
Edycja : od 16 listopada 2011 r .
_trackPageLoadTime
Funkcja została wycofana, a jej funkcjonalność została ustawiona jako ustawienie domyślne . (Mówiąc funkcjonalnie, z funkcji opt-in stała się funkcją opt-out)._setSiteSpeedSampleRate
to nowa funkcja do ustawiania częstotliwości próbkowania tej funkcji; jego domyślna wartość to1
(jak w 1%). Aby zrezygnować z korzystania z tej funkcji Szybkość witryny, musisz przekazać0
tę funkcję:Z Centrum pomocy Google Analytics :
Nie implementuje więc własnego licznika czasu, jak miało to miejsce w przypadku wielu wcześniejszych rozwiązań homeback, aby dowiedzieć się, jak długo trwa ładowanie strony. Zamiast tego używa nowej funkcji HTML5, obecnie obsługiwanej tylko w wyżej wymienionych przypadkach, zwanej NavigationTiming.
EDYCJA : To jest teraz obsługiwane w przeglądarce Firefox 7
(Należy pamiętać, że nie uruchamia się przy każdym ładowaniu; zamiast tego obecnie próbkuje około 2% odsłon, chociaż jest skonfigurowany tak, aby próbować śledzić wszystkie wczytania stron przy 10% odwiedzin; ponieważ więcej przeglądarek obsługuje interfejs NavigationTiming API, można oczekiwać, że całkowity procent próbkowania zacznie zbliżać się do 10%).
Dostęp do tego interfejsu uzyskuje się w ramach obiektu DOM
window.performance
(lub we wcześniejszych wersjach Chromewindow.webkitPerformance
) za pomocątiming
atrybutu (tak,window.performance.timing
). Obiekt przechowuje zmierzone wartości wszystkich kluczowych czasów ładowania strony, a Google Analytics odejmuje 2 z ważniejszych wartości zewnętrznych, aby ocenić szybkość ładowania strony.W przypadku obciążenia witryny Mashable.com bez pamięci podręcznej, oto przykład tego, co mierzy (w przeglądarce Chrome 11):
Te liczby są milisekundami epoki lub milisekundami od 1 stycznia 1970 roku. Nie widziałem żadnej dokumentacji, które wartości odejmują, aby wygenerować swoje wartości, ale po pobieżnym sprawdzeniu ga.js wygląda to tak
loadEventStart-fetchStart
:Na powyższej próby, co oznacza, że będzie ona rejestrować 4,14 sekund na
_trackPageLoadTime
wezwanie.Ze specyfikacji W3C Navigation Timing:
W przypadku ciekawskich przyjęć kolejność wygląda następująco:
Dla wymienionych wartości 0:
unloadEventStart
iunloadEventStart
pokaż czasy wyładowania poprzedniej strony (ale tylko wtedy, gdy ta strona ma to samo źródło co bieżąca).redirectEnd
iredirectStart
zmierzyć opóźnienie dodane, jeśli w łańcuchu ładowania strony było przekierowanie HTTP.secureConnectionStart
wydaje się być opcjonalną miarą pomiaru czasu połączenia SSL.źródło
secureConnectionStart
jest standardowym pomiarem, ale przeglądarka (lub cokolwiek obsługuje treść) może zgłaszać. w3c-test.org/webperf/specs/NavigationTiming/…