Le snippet JavaScript de introduit un impact presque invisible sur les performances du site Web et sur la perception par l'utilisateur du temps nécessaire au chargement d'une page. Le JavaScript est inclus dans un paquet de données de page Web qui est envoyé de toute façon. De plus, il commence immédiatement monitoring les erreurs et les événements pendant que le reste de la page Web s'exécute. La quantité négligeable de surcharge requise pour charger le JavaScript génère un retour significatif de données exploitables.
Impact global
Le surcoût JavaScript prend en compte à la fois l'impact sur l'utilisateur et l'impact sur les performances de votre système :
- User perception: En règle générale, l'utilisateur ne peut pas détecter les dégradations de performances sur un site Web de moins de 200 ms. Le JavaScript du Browser ajoute moins de 15 ms au temps total de chargement de chaque page. Cela est réparti dans le temps, donc à aucun moment un utilisateur ne pourra percevoir un impact sur les performances dû au JavaScript.
- Webserver and systems: desBrowser applications se produit sur le navigateur de l'utilisateur, et non sur le serveur.monitoring Le temps de traitement n'a pas d'impact sur votre consommation CPU.
De plus, nous prenons des mesures supplémentaires pour minimiser tout impact potentiel sur les applications et les pages Web monitorées. Par exemple, le script « loader » est chargé de manière synchrone dans le <HEAD>
afin de garantir que monitoring est activée pendant tout le cycle de vie de la page. Ce script est inclus en ligne, ce qui élimine le besoin d'une autre demande réseau aller-retour vers un réseau de diffusion de contenu (CDN). Le « chargeur » est fourni avec le chargement initial de la page.
Plus tard dans le cycle de vie de la page, New Relic charge un script monitoring supplémentaire de manière asynchrone. Ces scripts ne devraient pas avoir d'effet perceptible pour l'utilisateur et sont inclus dans la surcharge globale de moins de 15 ms par page.
Impact sur le réseau
monitoring des navigateurs minimise également le trafic réseau pour l'utilisateur final en agrégeant les données localement (dans le client) et en les renvoyant à New Relic à intervalles réguliers et lors de l'événement du cycle de vie de la page load
, unload
, pageshow
et pagehide
. (Pendant les périodes d'inactivité de la session du navigateur, les transmissions peuvent ne pas être nécessaires.)
script Browser d'agent
L'agent se compose de plusieurs scripts pour réduire la taille initiale du « chargeur » et pour prendre en charge uniquement le chargement du JavaScript nécessaire pour prendre en charge les fonctionnalités de l'agent qui sont activées. Le premier script, le « loader », est inséré en ligne dans le document HTML. Les scripts restants sont téléchargés à partir du réseau de diffusion de contenu (js-agent.newrelic.com) lorsque l'événement du cycle de vie de la page load
se produit. Le nombre de scripts chargés dépend du type d'agent utilisé. Découvrez ici les types d'agents de navigateur.
scénario | Lite | Pro | Pro + SPA |
---|---|---|---|
Taille du script en ligne | 10,2 Ko | 15,5 Ko | 17,5 Ko |
Taille du script téléchargé | 15,3 Ko | 21 Ko | 25,4 Ko |
Les tailles sont basées sur un script minifié utilisant la compression gzip.
Agent Browser récolte
Les événements Browser sont d'abord collectés après la collecte réussie de l'événement PageView, puis toutes les 30 secondes par la suite. Si un type d'événement dépasse 16 Ko de données avant la prochaine récolte planifiée, une récolte anticipée est déclenchée pour cet événement. De plus, une récolte finale se produit chaque fois que le document passe à hidden
via un événement visibilitychange
(par exemple lorsqu'un utilisateur quitte la page, change d'onglet, ferme l'onglet, réduit ou ferme le navigateur, ou passe du navigateur à une autre application s'il est sur un appareil mobile).
Type de données | Lite | Pro | Pro + SPA | Fréquence de récolte |
---|---|---|---|---|
PageView événement | Oui | Oui | Oui |
|
Événement PageViewTiming | Oui | Oui | Oui |
|
Métriques d'erreur JavaScript | Non | Oui | Oui |
|
Métriques Ajax | Non | Oui | Oui | Envoyé avec JavaScriptError métriques comme données d'intervalle de temps. |
Événement AjaxRequest | Non | Oui | Oui |
|
Trace de session | Non | Oui | Oui | La trace de session peut générer une grande quantité de données, mais cela peut être contrôlé par échantillonnage. Par défaut, seulement environ 90 pages vues par heure seront échantillonnées pour envoyer les données de trace de session. Il existe également une option permettant de définir un taux d'échantillonnage personnalisé. |
Session Replay | Non | Oui | Oui | En plus du cycle général de collecte, les récoltes de Session Replay qui incluent les instantanés et les charges mémorisables seront récoltées immédiatement. Le point de terminaison peut différer selon les paramètres régionaux, mais un exemple pour les États-Unis serait |
PageAction événement | Non | Oui | Oui | |
NavigateurInteraction événement | Non | Non | Oui |
|
Logs de navigateur | Non | Oui | Oui | |
Événement UserAction | Non | Oui | Oui | |
Événements BrowserPerformance | Non | Oui | Oui |