Как работает функция Google Analytics Site Speed _gaq.push(['_trackPageLoadTime'])
? Есть ли документация о том, как это работает?
102
Как работает функция Google Analytics Site Speed _gaq.push(['_trackPageLoadTime'])
? Есть ли документация о том, как это работает?
_trackPageLoadTime
в очередь, а затем последовательно запустить все функции в этой очереди после загрузки ga.js. Это позволяет безопасно загружатьga.js
файлы асинхронно.Ответы:
Edit : По состоянию на 16 ноября 2011 года функция устарела и ее функциональность была установлена в качестве настройки по умолчанию . (С функциональной точки зрения, она превратилась из функции выбора в функцию отказа.)
_trackPageLoadTime
_setSiteSpeedSampleRate
это новая функция для установки частоты дискретизации для этой функции; его значение по умолчанию1
(как в 1%). Чтобы отказаться от использования этой функции Site Speed, вы должны передать0
этой функции:В Справочном центре Google Analytics :
Таким образом, он не реализует свой собственный таймер, как многие предыдущие решения Homeback, чтобы выяснить, сколько времени требуется для загрузки страницы. Вместо этого он использует новую функцию HTML5, которая в настоящее время поддерживается только в перечисленных выше случаях, и называется NavigationTiming.
РЕДАКТИРОВАТЬ : теперь это поддерживается в Firefox 7
(Важно отметить , что она не запускается при каждой загрузке, вместо этого, он в настоящее время образцы около 2% от просмотров страниц, хотя он настроен на пытаться отслеживать все загрузки страницы на 10% посещения, так как все больше браузеров поддерживают API NavigationTiming, можно ожидать, что общий процент выборки начнет приближаться к 10%.)
Доступ к этому интерфейсу осуществляется из объекта DOM
window.performance
(или, в более ранних версиях Chromewindow.webkitPerformance
), с помощьюtiming
атрибута (so,window.performance.timing
). В объекте хранятся измеренные значения времени всех событий загрузки ключевых страниц, а Google Analytics вычитает 2 из наиболее важных внешних значений, чтобы оценить скорость загрузки страницы.Для загрузки Mashable.com без кеша вот пример того, что он измеряет (в Chrome 11):
Эти числа представляют собой миллисекунды эпох или миллисекунды с 1 января 1970 года. Я не видел никакой документации относительно того, какие значения они вычитают для генерации своих значений, но при беглом просмотре ga.js , похоже, что это
loadEventStart-fetchStart
:Для приведенного выше примера это означает, что в вызове будет записано 4,14 секунды
_trackPageLoadTime
.Из спецификации W3C Navigation Timing:
Для любопытных вечеринок порядок выглядит следующим образом:
Для перечисленных 0 значений:
unloadEventStart
иunloadEventStart
показать время выгрузки предыдущей загрузки страницы (но только если эта страница имеет то же происхождение, что и текущая).redirectEnd
иredirectStart
измерить добавленную задержку, если в цепочке загрузки страницы было перенаправление HTTP.secureConnectionStart
является необязательной мерой для измерения времени SSL-соединения.источник
secureConnectionStart
- это стандартное измерение, но для браузера (или того, что обрабатывает контент), отчет не является обязательным. w3c-test.org/webperf/specs/NavigationTiming/…