Comment fonctionne la fonctionnalité de vitesse du site de Google Analytics,, _gaq.push(['_trackPageLoadTime'])
? Existe-t-il une documentation sur son fonctionnement?
102
Comment fonctionne la fonctionnalité de vitesse du site de Google Analytics,, _gaq.push(['_trackPageLoadTime'])
? Existe-t-il une documentation sur son fonctionnement?
_trackPageLoadTime
dans une file d'attente, puis lancez toutes les fonctions de cette file d'attente de manière séquentielle une fois que ga.js est chargé. Il vous permet de charger en toute sécurité de manièrega.js
asynchrone.Réponses:
Edit : Depuis le 16 novembre 2011, la
_trackPageLoadTime
fonction a été abandonnée et sa fonctionnalité a été définie comme paramètre par défaut . (Sur le plan fonctionnel, il est passé d'une fonctionnalité opt-in à une fonctionnalité opt-out.)_setSiteSpeedSampleRate
est la nouvelle fonction pour régler la fréquence d'échantillonnage sur cette fonction; sa valeur par défaut est1
(comme dans 1%). Pour refuser d'utiliser cette fonction de vitesse du site, vous devez passer un0
à cette fonction:Depuis le centre d'aide Google Analytics :
Ainsi, il n'implémente pas sa propre minuterie, comme de nombreuses solutions de retour à la maison précédentes, pour déterminer combien de temps il faut à une page pour se charger. Au lieu de cela, il utilise une nouvelle fonctionnalité HTML5, actuellement uniquement prise en charge dans les cas énumérés ci-dessus, appelée NavigationTiming.
ÉDITER : Ceci est maintenant pris en charge dans Firefox 7
(Il est important de noter qu'il ne s'exécute pas à chaque chargement; à la place, il échantillonne actuellement environ 2% des pages vues, bien qu'il soit configuré pour essayer de suivre tous les chargements de page sur 10% des visites; comme de plus en plus de navigateurs prennent en charge l'API NavigationTiming, vous pouvez vous attendre à ce que le pourcentage total échantillonné commence à se rapprocher de 10%.)
Cette interface est accessible sous l'objet DOM
window.performance
(ou, dans les versions antérieures de Chrome,window.webkitPerformance
), à l'aide detiming
attribut (so,window.performance.timing
). L'objet stocke les valeurs mesurées de tous les temps d'événement de chargement de page clés et Google Analytics soustrait 2 des valeurs externes les plus importantes pour juger de la vitesse de chargement de la page.Pour une charge de Mashable.com sans cache, voici un exemple de ce qu'il mesure (dans Chrome 11):
Ces nombres sont des millisecondes d'époque, ou des millisecondes depuis le 1er janvier 1970. Je n'ai vu aucune documentation sur les valeurs qu'ils soustraient pour générer leurs valeurs, mais d'une inspection rapide du ga.js , il semble que ce soit
loadEventStart-fetchStart
:Pour l'exemple ci-dessus, cela signifie qu'il enregistrerait 4,14 secondes dans l'
_trackPageLoadTime
appel.À partir de la spécification de synchronisation de navigation du W3C:
Pour les curieux, la commande semble être la suivante:
Pour les 0 valeurs répertoriées:
unloadEventStart
etunloadEventStart
afficher les heures de déchargement du chargement de la page précédente (mais uniquement si cette page a la même origine que la page actuelle.)redirectEnd
etredirectStart
mesurez la latence ajoutée s'il y avait une redirection HTTP dans la chaîne de chargement de la page.secureConnectionStart
semble être une mesure facultative pour mesurer le temps de connexion SSL.la source
secureConnectionStart
est une mesure standard, mais elle est facultative pour le navigateur (ou tout ce qui gère le contenu) de rapporter. w3c-test.org/webperf/specs/NavigationTiming/…