Informations collectées par le client Web CloudWatch RUM - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Informations collectées par le client Web CloudWatch RUM

Cette section décrit le PutRumEventsschéma qui définit la structure des données que vous pouvez collecter à partir de sessions utilisateur à l'aide de CloudWatch RUM.

Une PutRumEventsdemande envoie une structure de données avec les champs suivants à CloudWatch RUM.

  • ID de ce lot d'événements RUM

  • Détails du moniteur d'application, qui comprennent les éléments suivants :

    • ID du moniteur d'application

    • Version de l'application contrôlée

  • Détails sur les utilisateurs, qui comprennent les éléments suivants. Ces informations ne sont collectées que si les cookies sont activés sur le moniteur d'application.

    • ID utilisateur généré par le client web

    • ID de session

  • Tableau des événements RUM dans ce lot

Schéma d'événements RUM

La structure de chaque événement RUM comprend les champs suivants.

Métadonnées des événements RUM

Les métadonnées incluent les métadonnées de page, les métadonnées de l'agent utilisateur, les métadonnées de géolocalisation et les métadonnées de domaine.

Métadonnées de page

Les métadonnées de page incluent les éléments suivants :

  • ID de la page

  • Titre de la page

  • ID de la page parent. – Ces informations ne sont collectées que si les cookies sont activés sur le moniteur d'application.

  • Profondeur d'interaction – Ces informations ne sont collectées que si les cookies sont activés sur le moniteur d'application.

  • Balises de page – Vous pouvez ajouter des balises aux événements de page pour regrouper les pages. Pour de plus amples informations, veuillez consulter Utiliser des groupes de pages.

Métadonnées de l'agent utilisateur

Les métadonnées de l'agent utilisateur incluent les éléments suivants :

  • Langue du navigateur

  • Nom du navigateur

  • Version du navigateur

  • Nom du système d'exploitation

  • Version du système d'exploitation

  • Type d'appareil

  • Types de plateforme

Métadonnées de géolocalisation

Les métadonnées de géolocalisation incluent les éléments suivants :

  • Code pays

  • Code de subdivision

Métadonnées de domaine

Les métadonnées de domaine incluent le domaine d'URL.

Détails de l'événement RUM

Les détails d'un événement suivent l'un des types de schémas suivants, en fonction du type d'événement.

Événement de démarrage de session

Cet événement ne contient aucun champ. Ces informations ne sont collectées que si les cookies sont activés sur le moniteur d'application.

Schéma de consultation de page

Un événement Page view (Consultation de page) contient les propriétés suivantes. Vous pouvez configurer le client web pour désactiver la collecte des consultations de page. Pour plus d'informations, consultez la documentation du client Web CloudWatch RUM.

Nom Type Description

Page ID (ID de la page)

Chaîne

Un ID qui représente cette page de manière unique au sein de l'application. Par défaut, il s'agit du chemin de l'URL.

Parent page ID (ID de la page parent)

Chaîne

L'ID de la page sur laquelle l'utilisateur se trouvait lorsqu'il a accédé à la page actuelle. Ces informations ne sont collectées que si les cookies sont activés sur le moniteur d'application.

Interaction depth (Profondeur d'interaction)

Chaîne

Ces informations ne sont collectées que si les cookies sont activés sur le moniteur d'application.

JavaScript schéma d'erreur

JavaScript les événements d'erreur générés par l'agent contiennent les propriétés suivantes. Le client web ne collecte ces événements que si vous avez choisi de collecter la télémétrie des erreurs.

Nom Type Description

Error type (Type d'erreur)

Chaîne

Le nom de l'erreur, le cas échéant. Pour de plus amples informations, veuillez consulter Error.prototype.name.

Certains navigateurs peuvent ne pas prendre en charge les types d'erreurs.

Error message (Message d'erreur)

Chaîne

Le message de l'erreur. Pour de plus amples informations, veuillez consulter Error.prototype.message. Si le champ d'erreur n'existe pas, il s'agit du message de l'événement d'erreur. Pour de plus amples informations, veuillez consulter ErrorEvent.

Les messages d'erreur peuvent varier d'un navigateur à l'autre.

Stack trace (Suivi de pile)

Chaîne

Le suivi de pile de l'erreur, le cas échéant, tronqué à 150 caractères. Pour de plus amples informations, veuillez consulter Error.prototype.stack.

Certains navigateurs peuvent ne pas prendre en charge les suivis de pile.

Schéma d'événements DOM

Les événements DOM (Document Object Model) générés par l'agent contiennent les propriétés suivantes. Par défaut, ces événements ne sont pas collectés. Ils ne sont collectés que si vous activez la télémétrie des interactions. Pour plus d'informations, consultez la documentation du client Web CloudWatch RUM.

Nom Type Description

Événement 

Chaîne

Le type d'événement DOM, comme un clic, un défilement ou un survol. Pour plus d'informations, consultez Référence des événements.

Element

Chaîne

Type d'élément DOM

Element ID (ID de l'élément)

Chaîne

Si l'élément qui a généré l'événement possède un ID, cette propriété stocke cet ID. Pour de plus amples informations, veuillez consulter Element.id.

CSSLocator

Chaîne

Localisateur CSS utilisé pour identifier l'élément DOM.

InteractionId

Chaîne

Un identifiant unique pour l'interaction entre l'utilisateur et l'interface utilisateur.

Schéma d'événement de navigation

Les événements de navigation ne sont collectés que si la télémétrie de performance est activée sur le moniteur d'application.

Les événements de navigation utilisent le chronométrage de navigation de niveau 1 et le chronométrage de navigation de niveau 2 APIs. Le niveau 2 APIs n'étant pas pris en charge sur tous les navigateurs, ces nouveaux champs sont facultatifs.

Note

Les métriques d'horodatage sont basées sur. DOMHighResTimestamp Au niveau 2 APIs, tous les horaires sont par défaut relatifs austartTime. Mais pour Level 1, la métrique navigationStart est soustraite des métriques d'horodatage pour obtenir des valeurs relatives. Toutes les valeurs d'horodatage sont exprimées en millisecondes.

Les événements de navigation contiennent les propriétés suivantes.

Nom Type Description Remarques

initiatorType

Chaîne

Représente le type de ressource qui a initié l'événement de performance.

Valeur : "navigation"

Level 1 : "navigation"

Level 2 : entryData.initiatorType

navigationType

Chaîne

Représente le type de navigation.

Cet attribut n'est pas obligatoire.

Valeur : cette valeur doit être l'un des éléments suivants.

  • navigate est une navigation démarrée par le choix d'un lien, la saisie d'une URL dans la barre d'adresse d'un navigateur, l'envoi d'un formulaire ou l'initialisation via une opération de script autre que reload ou back_forward .

  • reload est une navigation réalisée via l'opération de rechargement du navigateur ou location.reload() .

  • back_forward est une navigation réalisée via l'opération de balayage de l'historique du navigateur.

  • prerender est une navigation initiée par un indicateur de prérendu. Pour de plus amples informations, veuillez consulter Prerender.

startTime

Nombre

Indique quand l'événement est déclenché.

Valeur : 0

Level 1 : entryData.navigationStart - entryData.navigationStart

Level 2 : entryData.startTime

unloadEventStart

Nombre

Indique l'heure à laquelle le déchargement du document précédent de la fenêtre a commencé après que l'événement unload a été levé.

Valeur : s'il n'y a pas de document précédent ou si le document précédent ou l'une des redirections nécessaires ne sont pas de la même origine, la valeur renvoyée est 0.

Level 1 :

entryData.unloadEventStart > 0 ? entryData.unloadEventStart - entryData.navigationStart : 0

Niveau 2 : données d'entrée. unloadEventStart

promptForUnload

Nombre

Temps nécessaire au déchargement du document. En d'autres termes, le temps entre unloadEventStart et unloadEventEnd. UnloadEventEnd représente le moment, en millisecondes, où le gestionnaire d'événements de déchargement se termine.

Valeur : s'il n'y a pas de document précédent ou si le document précédent ou l'une des redirections nécessaires ne sont pas de la même origine, la valeur renvoyée est 0.

Niveau 1 : données d'entrée. unloadEventEnd - Données d'entrée. unloadEventStart

Niveau 2 : données d'entrée. unloadEventEnd - Données d'entrée. unloadEventStart

redirectCount

Nombre

Numéro représentant le nombre de redirections depuis la dernière navigation non redirigée dans le contexte de navigation actuel.

Cet attribut n'est pas obligatoire.

Valeur : s'il n'y a pas de redirection ou s'il y a une redirection qui n'est pas de la même origine que le document de destination, la valeur renvoyée est 0.

Level 1 : non disponible

Level 2 : entryData.redirectCount

redirectStart

Nombre

Heure de démarrage de la première redirection HTTP.

Valeur : s'il n'y a pas de redirection ou s'il y a une redirection qui n'est pas de la même origine que le document de destination, la valeur renvoyée est 0.

Level 1 :

entryData.redirectStart > 0 ? entryData.redirectStart - entryData.navigationStart : 0

Level 2 : entryData.redirectStart

redirectTime

Nombre

Le temps nécessaire à la redirection HTTP. Il s'agit de la différence entre redirectStart et redirectEnd.

Level 1 : entryData.redirectEnd - entryData.redirectStart

Level 2 : entryData.redirectEnd - entryData.redirectStart

workerStart

Nombre

Propriété de l'interface PerformanceResourceTiming. Elle marque le début de l'opération de thread de travail.

Cet attribut n'est pas obligatoire.

Valeur : si un thread de service worker est déjà en cours d'exécution, ou immédiatement avant le démarrage du thread de service worker, cette propriété renvoie l'heure précédant immédiatement la distribution de FetchEvent. Elle renvoie 0 si la ressource n'est pas interceptée par un service worker.

Level 1 : non disponible

Level 2 : entryData.workerStart

workerTime

Nombre

Si la ressource est interceptée par un service worker, cela renvoie le temps requis pour l'opération du thread de travail.

Cet attribut n'est pas obligatoire.

Level 1 : non disponible

Level 2 :

entryData.workerStart > 0 ? entryData.fetchStart - entryData.workerStart : 0

fetchStart

Nombre

Heure à laquelle le navigateur est prêt à récupérer le document à l'aide d'une demande HTTP. Et ce, avant de vérifier n'importe quel cache d'application.

Level 1 :

: entryData.fetchStart > 0 ? entryData.fetchStart - entryData.navigationStart : 0

Level 2 : entryData.fetchStart

domainLookupStart

Nombre

Heure de démarrage de la recherche de domaine.

Valeur : si une connexion persistante est utilisée ou si les informations sont stockées dans un cache ou une ressource locale, la valeur sera identique à fetchStart.

Level 1 :

entryData.domainLookupStart > 0 ? entryData.domainLookupStart - entryData.navigationStart : 0

Niveau 2 : données d'entrée. domainLookupStart

dns

Nombre

Temps nécessaire à la recherche de domaines.

Valeur : si les ressources et les enregistrements DNS sont mis en cache, la valeur attendue est 0.

Niveau 1 : données d'entrée. domainLookupEnd - Données d'entrée. domainLookupStart

Niveau 2 : données d'entrée. domainLookupEnd - Données d'entrée. domainLookupStart

nextHopProtocol

Chaîne

Chaîne représentant le protocole réseau utilisé pour récupérer la ressource.

Cet attribut n'est pas obligatoire.

Level 1 : non disponible

Niveau 2 : données d'entrée. nextHopProtocol

connectStart

Nombre

Heure précédant immédiatement le lancement par l'agent utilisateur de l'établissement de la connexion au serveur pour récupérer le document.

Valeur : si une connexion RFC2616 persistante est utilisée, ou si le document actuel est extrait des caches d'applications ou des ressources locales appropriés, cet attribut renvoie la valeur dedomainLookupEnd.

Level 1 :

entryData.connectStart > 0 ? entryData.connectStart - entryData.navigationStart : 0

Level 2 : entryData.connectStart

connect

Nombre

Mesure le temps nécessaire à l'établissement des connexions de transport ou à l'authentification SSL. Il inclut également le temps bloqué qui est pris lorsqu'il y a trop de demandes simultanées émises par le navigateur.

Level 1 : entryData.connectEnd - entryData.connectStart

Level 2 : entryData.connectEnd - entryData.connectStart

secureConnectionStart

Nombre

Si le modèle d'URL de la page actuelle est « https », cet attribut renvoie l'heure précédant immédiatement le lancement par l'agent utilisateur du processus de négociation pour sécuriser la connexion actuelle. Il renvoie 0 si HTTPS n'est pas utilisé. Pour plus d'informations sur les modèles d'URL, consultez URL representation.

Formule : EntryData. secureConnectionStart

tlsTime

Nombre

Le temps nécessaire pour terminer une négociation SSL.

Level 1 :

entryData.secureConnectionStart > 0 ? entryData.connectEnd - entryData.secureConnectionStart : 0

Level 2 :

entryData.secureConnectionStart > 0 ? entryData.connectEnd - entryData.secureConnectionStart : 0

requestStart

Nombre

Heure précédant immédiatement le début de la demande de ressource par l'agent utilisateur auprès du serveur, des caches d'application pertinents ou des ressources locales.

Level 1 :

: entryData.requestStart > 0 ? entryData.requestStart - entryData.navigationStart : 0

Level 2 : entryData.requestStart

timeToFirstoctet

Nombre

Temps nécessaire à la réception du premier octet d'informations après l'envoi de la demande. Ce temps est relatif à la valeur startTime.

Level 1 : entryData.responseStart - entryData.requestStart

Level 2 : entryData.responseStart - entryData.requestStart

responseStart

Nombre

Heure suivant immédiatement la réception par l'analyseur HTTP de l'agent utilisateur du premier octet de la réponse des caches d'application concernés, des ressources locales ou du serveur.

Level 1 :

entryData.responseStart > 0 ? entryData.responseStart - entryData.navigationStart : 0

Level 2 : entryData.responseStart

responseTime

Chaîne

Temps nécessaire à la réception d'une réponse complète sous la forme d'octets provenant des caches d'application concernés, des ressources locales ou du serveur.

Level 1 :

entryData.responseStart > 0 ? entryData.responseEnd - entryData.responseStart : 0

Level 2 :

entryData.responseStart > 0 ? entryData.responseEnd - entryData.responseStart : 0

domInteractive

Nombre

Heure à laquelle l'analyseur a terminé son travail sur le document principal et que le DOM HTML est construit. À ce moment, la valeur Document.readyState passe à "interactive" (interactif) et l'événement readystatechange correspondant est levé.

Level 1 :

entryData.domInteractive > 0 ? entryData.domInteractive - entryData.navigationStart : 0

Level 2 : entryData.domInteractive

domContentLoadedEventStart

Nombre

Représente la valeur temporelle égale à l'heure immédiatement avant que l'agent utilisateur ne déclenche l'événement DOMContent Loaded sur le document actuel. L'événement DOMContent Loaded se déclenche lorsque le document HTML initial a été complètement chargé et analysé. À ce moment, le document HTML principal a terminé l'analyse, le navigateur commence à construire l'arborescence de rendu et les sous-ressources doivent encore être chargées. Cette propriété n'attend pas la fin du chargement des feuilles de style, des images et les sous-cadres.

Level 1 :

entryData.domContentLoadedEventStart > 0 ? entryData.domContentLoadedEventStart - entryData.navigationStart : 0

Niveau 2 : données d'entrée. domContentLoadedEventStart

domContentLoaded

Nombre

Cette heure de début et de fin de la construction de l'arborescence de rendu est marquée par domContentLoadedEventStart et domContentLoadedEventEnd. Il permet à CloudWatch RUM de suivre l'exécution. Cette propriété correspond à la différence entre domContentLoadedStart et domContentLoadedEnd.

Pendant ce temps, DOM et CSSOM sont prêts. Cette propriété attend l'exécution des scripts, à l'exception des scripts asynchrones et de ceux créés dynamiquement. Si les scripts dépendent de feuilles de style, domContentLoaded les attend aussi. Cette propriété n'attend pas les images.

Note

Les valeurs réelles de domContentLoadedStart et domContentLoadedEnd correspondent approximativement à domContentLoaded dans le panneau Réseau de Google Chrome. Celui-ci indique le temps de construction de l'arborescence de rendu DOM HTML + CSSOM depuis le début du processus de chargement de la page. Dans le cas des mesures de navigation, la valeur domContentLoaded représente la différence entre les valeurs de début et de fin, ce qui correspond au temps nécessaire au téléchargement des sous-ressources et à la construction de l'arborescence de rendu uniquement.

Niveau 2 : données d'entrée. domContentLoadedEventEnd - Données d'entrée. domContentLoadedEventStart

Niveau 2 : données d'entrée. domContentLoadedEventEnd - Données d'entrée. domContentLoadedEventStart

domComplete

Nombre

Heure précédant immédiatement la définition par le navigateur de la préparation du document actuel sur terminée. À ce stade, le chargement des sous-ressources, telles que des images, est terminé. Cela inclut le temps nécessaire au téléchargement de contenus bloquants tels que le CSS et le contenu synchrone. JavaScript Cette valeur correspond approximativement à loadTime dans le panneau Réseau de Google Chrome.

Level 1 :

entryData.domComplete > 0 ? entryData.domComplete - entryData.navigationStart : 0

Level 2 : entryData.domComplete

domProcessingTime

Nombre

Durée totale entre la réponse et le début de l'événement de chargement.

Niveau 1 : données d'entrée. loadEventStart - EntryData.ResponseEnd

Niveau 2 : données d'entrée. loadEventStart - EntryData.ResponseEnd

loadEventStart

Nombre

Heure précédant immédiatement le lancement de l'événement load du document actif.

Level 1 :

entryData.loadEventStart > 0 ? entryData.loadEventStart - entryData.navigationStart : 0

Niveau 2 : données d'entrée. loadEventStart

loadEventTime

Nombre

Différence entre loadEventStart et loadEventEnd. La logique ou les fonctions supplémentaires en attente de cet événement de chargement seront déclenchées pendant cette période.

Niveau 1 : données d'entrée. loadEventEnd - Données d'entrée. loadEventStart

Niveau 2 : données d'entrée. loadEventEnd - Données d'entrée. loadEventStart

duration

Chaîne

Durée correspond au temps de chargement total de la page. Cette propriété enregistre la durée nécessaire au téléchargement de la page principale et de toutes ses sous-ressources synchrones, ainsi qu'au rendu de la page. Le téléchargement des ressources asynchrones telles que les scripts se poursuit ultérieurement. Cette propriété correspond à la différence entre les propriétés loadEventEnd et startTime.

Niveau 1 : données d'entrée. loadEventEnd - Données d'entrée. NavigationStart

Level 2 : entryData.duration

headerSize

Nombre

Renvoie la différence entre transferSize et encodedBodySize.

Cet attribut n'est pas obligatoire.

Level 1 : non disponible

Niveau 2 : EntryData.TransferSize - EntryData. encodedBodySize

Niveau 2 : EntryData.TransferSize - EntryData. encodedBodySize

compressionRatio

Nombre

Rapport entre encodedBodySize et decodedBodySize. La valeur de encodedBodySize correspond à la taille compressée de la ressource, à l'exclusion des en-têtes HTTP. La valeur de decodedBodySize correspond à la taille décompressée de la ressource, à l'exclusion des en-têtes HTTP.

Cet attribut n'est pas obligatoire.

Level 1 : non disponible.

Level 2 :

entryData.encodedBodySize > 0 ? entryData.decodedBodySize / entryData.encodedBodySize : 0

navigationTimingLevel

Nombre

Version de l'API Navigation Timing.

Valeur : 1 ou 2

Schéma d'événement de ressource

Les événements de ressource ne sont collectés que si la télémétrie de performance est activée sur le moniteur d'application.

Les métriques d'horodatage sont basées sur le DOMHigh ResTimeStamp typedef. Au niveau 2 APIs, par défaut, tous les horaires sont relatifs austartTime. Mais pour le niveau 1 APIs, la navigationStart métrique est soustraite des métriques d'horodatage pour obtenir des valeurs relatives. Toutes les valeurs d'horodatage sont exprimées en millisecondes.

Les événements de ressource générés par l'agent contiennent les propriétés suivantes.

Nom Type Description Remarques

targetUrl

Chaîne

Renvoie l'URL de la ressource.

Formule : entryData.name

initiatorType

Chaîne

Représente le type de ressource qui a initié l'événement de ressource de performance.

Valeur : "ressource"

Formule : entryData.initiatorType

duration

Chaîne

Renvoie la différence entre les propriétés responseEnd et startTime.

Cet attribut n'est pas obligatoire.

Formule : entryData.duration

transferSize

Nombre

Renvoie la taille (en octets) de la ressource récupérée, y compris les champs d'en-tête de réponse et le corps de la charge utile de réponse.

Cet attribut n'est pas obligatoire.

Formule : entryData.transferSize

fileType

Chaîne

Extensions dérivées du modèle d'URL cible.

Schéma d'événement Largest Contentful Paint

Les événements Largest Contentful Paint contiennent les propriétés suivantes.

Ces événements ne sont collectés que si la télémétrie de performance est activée sur le moniteur d'application.

Name (Nom) Description

Valeur

Pour de plus amples informations, veuillez consulter Web Vitals.

Événement First Input Delay

Les événements First Input Delay contiennent les propriétés suivantes.

Ces événements ne sont collectés que si la télémétrie de performance est activée sur le moniteur d'application.

Name (Nom) Description

Valeur

Pour de plus amples informations, veuillez consulter Web Vitals.

Événement Cumulative Layout Shift

Les événements Cumulative Layout Shift contiennent les propriétés suivantes.

Ces événements ne sont collectés que si la télémétrie de performance est activée sur le moniteur d'application.

Name (Nom) Description

Valeur

Pour de plus amples informations, veuillez consulter Web Vitals.

Événement HTTP

Les événements HTTP peuvent contenir les propriétés suivantes. Ils contiendront un champ Response ou Error, mais pas les deux.

Ces événements ne sont collectés que si la télémétrie HTTP est activée sur le moniteur d'application.

Name (Nom) Description

Demande

Le champ de requête inclut les éléments suivants :

  • Le champ Method, qui peut contenir des valeurs telles que GET, POST, etc.

  • L'URL.

Réponse

Le champ de réponse inclut les éléments suivants :

  • Statut, tel que 2xx, 4xx ou 5xx

  • Texte de statut

Error (Erreur)

Le champ d'erreur peut inclure les éléments suivants :

  • Type

  • Message

  • Nom de fichier

  • Numéro de ligne

  • Numéro de colonne

  • Suivi de pile

Schéma d'événement de suivi X-Ray

Ces événements ne sont collectés que si le suivi X-Ray est activé sur le moniteur d'application.

Pour plus d'informations sur les schémas d'événements de suivi X-Ray, consultez Documents de segment AWS X-Ray.