Présentation

Le SDK Browser RUM génère des événements auxquels sont associés des métriques et attributs. Chaque événement RUM contient tous les attributs par défaut, comme l’URL de la page (view.url) et des informations sur l’utilisateur, telles que son type d’appareil (device.type) et son pays (geo.country).

Il existe d’autres métriques et attributs propres à un type d’événement donné. Par exemple, la métrique view.loading_time est associée aux événements de type vue, et l’attribut resource.method aux événements de type ressource.

Type d’événementRétentionDescription
Session30 joursUne session utilisateur débute lorsqu’un utilisateur commence à parcourir l’application Web. Une session inclut des informations générales sur l’utilisateur (navigateur, appareil, géolocalisation). Elle agrège tous les événements RUM recueillis lors du parcours utilisateur en appliquant un attribut session.id unique. Remarque : la session est réinitialisée après 15 minutes d’inactivité.
Vue30 joursUn événement de type Vue est généré à chaque fois qu’un utilisateur consulte une page de l’application Web. Tant que l’utilisateur reste sur la même page, les événements de type Ressource, Tâche longue, Erreur et Action sont associés à cette vue RUM via l’attribut view.id.
Ressource15 joursUn événement de type Ressource est généré pour les images, XHR, Fetch, CSS ou bibliothèques JS chargés sur une page Web. Celui-ci contient des informations détaillées sur le temps de chargement.
Tâche longue15 joursUn événement de type Tâche longue est généré à chaque fois qu’une tâche du navigateur bloque le thread principal pendant plus de 50 ms.
Error30 joursLa fonction RUM recueille toutes les erreurs frontend émises par le navigateur.
Action30 joursLes événements RUM de type Action enregistrent les interactions effectuées durant chaque parcours utilisateur et peuvent également être envoyés manuellement pour surveiller des actions utilisateur personnalisées.

Le schéma suivant présente la hiérarchie des événements RUM :

Hiérarchie des événements RUM

Attributs par défaut

Chacun de ces types d’événements possède par défaut les attributs ci-dessous. Vous pouvez donc toujours les utiliser, peu importe le type d’événement RUM interrogé.

Core

Nom de l’attributTypeDescription
typechaîneLe type de l’événement (par exemple, view ou resource).
application.idchaîneL’ID d’application Datadog généré lorsque vous créez une application RUM.
servicechaîneUn service désigne un ensemble de pages créées par une équipe qui offrent une fonctionnalité spécifique dans votre application Browser. Vous pouvez attribuer des pages Web à un service à l’aide du suivi manuel des vues.

Attributs de vue

Les événements RUM de type Action, Erreur, Ressource et Tâche longue contiennent des informations sur la vue RUM active au moment de la collecte :

Nom de l’attributTypeDescription
view.idchaîneID généré aléatoirement pour chaque vue de page.
view.loading_typechaîneLe type de chargement de page : initial_load ou route_change. Pour en savoir plus, consultez la documentation sur la prise en charge des applications monopage.
view.referrerchaîneL’URL de la page Web précédente à partir de laquelle l’utilisateur a accédé à la page actuelle.
view.urlchaîneL’URL de la vue.
view.url_hashchaîneLa partie de l’URL correspondant au hachage.
view.url_hostchaîneLa partie de l’URL correspondant au host.
view.url_pathchaîneLa partie de l’URL correspondant au chemin.
view.url_path_groupchaîneLe groupe d’URL généré automatiquement pour les URL connexes (par exemple, /dashboard/? pour /dashboard/123 et /dashboard/456).
view.url_queryobjetLes parties de l’URL correspondant à la chaîne de requête, décomposées en attributs key/value de paramètres de requête.
view.url_schemeobjetLa partie de l’URL correspondant au schéma.

Appareil

Les attributs sur l’appareil suivants sont joints automatiquement à tous les événements recueillis par Datadog :

Nom de l’attributTypeDescription
device.typechaîneLe type d’appareil indiqué par l’appareil (en-tête HTTP User-Agent).
device.brandchaîneLa marque de l’appareil indiquée par l’appareil (en-tête HTTP User-Agent).
device.modelchaîneLe modèle de l’appareil indiqué par l’appareil (en-tête HTTP User-Agent).
device.namechaîneLe nom de l’appareil indiqué par l’appareil (en-tête HTTP User-Agent).

Système d’exploitation

Les attributs sur le système d’exploitation suivants sont joints automatiquement à tous les événements recueillis par Datadog :

Nom de l’attributTypeDescription
os.namechaîneLe nom du système d’exploitation indiqué par l’appareil (en-tête HTTP User-Agent).
os.versionchaîneLa version du système d’exploitation indiquée par l’appareil (en-tête HTTP User-Agent).
os.version_majorchaîneLa version majeure du système d’exploitation indiquée par l’appareil (en-tête HTTP User-Agent).

Géolocalisation

Les attributs suivants sont liés à la géolocalisation des adresses IP :

Nom completTypeDescription
geo.countrychaîneLe nom du pays.
geo.country_iso_codechaîneLe code ISO du pays (par exemple, US pour les États-Unis ou FR pour la France).
geo.country_subdivisionchaîneLe nom du premier niveau de division du pays (par exemple, California aux États-Unis ou le département de la Sarthe en France).
geo.continent_codechaîneLe code ISO du continent (EU, AS, NA, AF, AN, SA ou OC).
geo.continentchaîneLe nom du continent (Europe, Australia, North America, Africa, Antarctica, South America ou Oceania).
geo.citychaîneLe nom de la ville (par exemple, Paris ou New York).

Remarque : par défaut, Datadog stocke l’adresse IP client. Si vous souhaitez ne plus recueillir d’adresse IP, contactez l’assistance. Cette opération n’a aucune incidence sur la collecte des attributs de géolocalisation répertoriés ci-dessus.

Attributs utilisateur

En plus des attributs par défaut, vous pouvez ajouter des données sur les utilisateurs à tous les types d’événements RUM en identifiant les sessions utilisateur. Vous avez ainsi la possibilité de suivre le parcours d’un utilisateur spécifique, d’identifier les utilisateurs les plus affectés par des erreurs et de surveiller les performances de vos utilisateurs les plus importants.

Métriques et attributs spécifiques à un événement

Métriques des sessions

MétriqueTypeDescription
session.time_spentnombre (ns)Durée d’une session utilisateur.
session.view.countnombreNombre total de vues recueillies lors de la session.
session.error.countnombreNombre total d’erreurs recueillies lors de la session.
session.resource.countnombreNombre total de ressources recueillies lors de la session.
session.action.countnombreNombre total d’erreurs recueillies lors de la session.
session.long_task.countnombreNombre total de tâches longues recueillies lors de la session.

Attributs des sessions

Nom de l’attributTypeDescription
session.idchaîneUn ID généré aléatoirement pour chaque session.
session.ipchaîneL’adresse IP client. Si vous souhaitez arrêter la collecte de cet attribut, contactez l’assistance.
session.is_activebooléenIndique si la session est actuellement active. Une session prend fin lorsqu’un utilisateur quitte l’application ou ferme la fenêtre du navigateur. Elle expire après 4 heures ou 15 minutes d’inactivité.
session.typechaîneLe type de session : user ou synthetics. Les sessions provenant des tests Browser de la surveillance Synthetic sont exclus de la facturation.
session.referrerchaîneL’URL de la page Web précédente à partir de laquelle l’utilisateur a accédé à la page actuelle.
session.initial_view.idchaîneL’ID de la première vue RUM générée par l’utilisateur.
session.initial_view.url_hostchaîneLa partie de l’URL correspondant au host.
session.initial_view.url_pathchaîneLa partie de l’URL correspondant au chemin.
session.initial_view.url_path_groupchaîneLe groupe d’URL généré automatiquement pour les URL connexes (par exemple, /dashboard/? pour /dashboard/123 et /dashboard/456).
session.initial_view.url_queryobjetLes parties de l’URL correspondant à la chaîne de requête, décomposées en attributs key/value de paramètres de requête.
session.initial_view.url_schemeobjetLa partie de l’URL correspondant au schéma.
session.last_view.idchaîneL’ID de la dernière vue RUM générée par l’utilisateur.
session.last_view.url_hostchaîneLa partie de l’URL correspondant au host.
session.last_view.url_pathchaîneLa partie de l’URL correspondant au chemin.
session.last_view.url_path_groupchaîneLe groupe d’URL généré automatiquement pour les URL connexes (par exemple, /dashboard/? pour /dashboard/123 et /dashboard/456).
session.last_view.url_queryobjetLes parties de l’URL correspondant à la chaîne de requête, décomposées en attributs key/value de paramètres de requête.
session.last_view.url_schemeobjetLa partie de l’URL correspondant au schéma.

Métriques de durée des vues

AttributTypeDescription
view.time_spentnombre (ns)Temps passé sur la vue actuelle.
view.first_bytenombre (ns)Temps écoulé avant la réception du premier octet de la vue.
view.largest_contentful_paintnombre (ns)Temps nécessaire lors du chargement de la page pour afficher le plus grand objet DOM dans la fenêtre d’affichage.
view.first_input_delaynombre (ns)Délai entre le moment où l’utilisateur interagit pour la première fois avec la page et le moment où le navigateur répond à cette interaction.
view.cumulative_layout_shiftnombreNombre de mouvements de page inattendus causés par le chargement de contenu dynamique (par exemple, des publicités tierces). Lorsqu’aucun décalage ne se produit, cette métrique a pour valeur 0.
view.loading_timenombre (ns)Temps écoulé avant que la page ne soit prête et que toutes les requêtes réseau ou mutations DOM soient terminées. Consultez la section Surveillance des performances de pages pour en savoir plus.
view.first_contentful_paintnombre (ns)Temps écoulé avant le premier affichage de texte, d’une image (images d’arrière-plan incluses), d’un canvas non blanc ou d’un SVG. Pour en savoir plus sur le rendu par le navigateur, consultez la définition du w3c.
view.dom_interactivenombre (ns)Temps écoulé avant que le parser ait fini de travailler sur le document principal. Consultez la documentation MDN pour en savoir plus.
view.dom_content_loadednombre (ns)Temps écoulé avant que l’événement de chargement ne se déclenche et que le document HTML initial soit entièrement chargé et parsé, même si les feuilles de style, les images et les sous-cadres qui ne bloquent pas l’affichage n’ont pas fini de charger. Consultez la documentation MDN pour en savoir plus.
view.dom_completenombre (ns)Temps écoulé avant que la page et toutes les sous-ressources soient prêtes. Pour l’utilisateur, l’indicateur de chargement à proximité du curseur disparaît alors. Consultez la documentation MDN pour en savoir plus.
view.load_eventnombre (ns)Temps écoulé avant que l’événement de chargement ne se déclenche, indiquant que la page est entièrement chargée. Cet événement entraîne généralement le déclenchement de logique d’application supplémentaire. Consultez la documentation MDN pour en savoir plus.
view.error.countnombreNombre total d’erreurs recueillies pour cette vue.
view.long_task.countnombreNombre total de tâches longues recueillies pour cette vue.
view.resource.countnombreNombre total de ressources recueillies pour cette vue.
view.action.countnombreNombre total d’actions recueillies pour cette vue.

Métriques de durée des ressources

L’API Performance Resource Timing recueille des données réseau temporelles détaillées sur le chargement des ressources d’une application.

MétriqueTypeDescription
durationnombreDurée totale de chargement de la ressource.
resource.sizenombre (octets)Taille de la ressource.
resource.connect.durationnombre (ns)Durée d’établissement d’une connexion au serveur (connectEnd - connectStart).
resource.ssl.durationnombre (ns)Durée d’établissement de la liaison TLS. Si la dernière requête ne suit pas le protocole HTTPS, cette métrique n’apparaît pas (connectEnd - secureConnectionStart).
resource.dns.durationnombre (ns)Durée de résolution du nom DNS de la dernière requête (domainLookupEnd - domainLookupStart).
resource.redirect.durationnombre (ns)Temps passé sur les requêtes HTTP ultérieures (redirectEnd - redirectStart).
resource.first_byte.durationnombre (ns)Temps écoulé avant la réception du premier octet de la réponse (responseStart - RequestStart).
resource.download.durationnombre (ns)Durée de téléchargement de la réponse (responseEnd - responseStart).

Attributs des ressources

AttributTypeDescription
resource.typechaîneLe type de ressource à recueillir (par exemple, css, javascript, media, XHR ou image).
resource.methodchaîneLa méthode HTTP (par exemple, POST ou GET).
resource.status_codenombreLe code de statut de la réponse.
resource.urlchaîneL’URL de la ressource.
resource.url_hostchaîneLa partie de l’URL correspondant au host.
resource.url_pathchaîneLa partie de l’URL correspondant au chemin.
resource.url_queryobjetLes parties de l’URL correspondant à la chaîne de requête, décomposées en attributs key/value de paramètres de requête.
resource.url_schemechaîneLe nom du protocole de l’URL (HTTP ou HTTPS).
resource.provider.namechaîneLe nom du fournisseur de ressources. Valeur par défaut : unknown.
resource.provider.domainchaîneLe domaine du fournisseur de ressources.
resource.provider.typechaîneLe type de fournisseur de ressources (par exemple, first-party, cdn, ad ou analytics).

Métriques de durée des tâches longues

MétriqueTypeDescription
long_task.durationnombreDurée de la tâche longue.

Attributs d’erreur

AttributTypeDescription
error.sourcechaîneL’origine de l’erreur (par exemple, console ou network).
error.typechaîneLe type d’erreur (ou le code dans certains cas).
error.messagechaîneUn message d’une ligne lisible et concis décrivant l’événement.
error.stackchaîneLa stack trace ou toutes informations complémentaires relatives à l’erreur.

Erreurs source

Les erreurs de type source comprennent des informations au niveau du code concernant l’erreur. Pour en savoir plus les différents types d’erreurs, consultez la documentation MDN.

AttributTypeDescription
error.typechaîneLe type d’erreur (ou le code dans certains cas).

Métriques de durée des actions

MétriqueTypeDescription
action.loading_timenombre (ns)La durée de chargement de l’action. Consultez la documentation relative aux actions utilisateur pour découvrir comment elle est calculée.
action.long_task.countnombreNombre total de tâches longues recueillies pour cette action.
action.resource.countnombreNombre total de ressources recueillies pour cette action.
action.error.countnombreNombre total d’erreurs recueillies pour cette action.

Attributs d’action

AttributTypeDescription
action.idchaîneUUID de l’action utilisateur.
action.typechaîneType d’action utilisateur. Pour les actions utilisateur personnalisées, ce paramètre est défini sur custom.
action.target.namechaîneÉlément avec lequel l’utilisateur a interagi. Uniquement pour les actions recueillies automatiquement.
action.namechaîneLe nom courant de l’action créée (par exemple, Clic sur #checkout). Pour les actions utilisateur personnalisées, il s’agit du nom d’action indiqué dans l’appel de l’API.

Champs des signaux de frustration

ChampTypeDescription
session.frustration.countnombreNombre total de signaux de frustration associés à une session.
view.frustration.countnombreNombre total de signaux de frustration associés à une vue.
action.frustration.type:dead_clickchaîneClics sans effet détectés par le SDK Browser RUM.
action.frustration.type:rage_clickchaîneClics de rage détectés par le SDK Browser RUM.
action.frustration.type:error_clickchaîneClics effectués par erreur détectés par le SDK Browser RUM.

Pour aller plus loin

PREVIEWING: may/unit-testing