Información recopilada por el cliente web de CloudWatch RUM
En esta sección se documenta el esquema de PutRumEvents, que define la estructura de los datos que puede recopilar de las sesiones de usuario mediante CloudWatch RUM.
Una solicitud de PutRumEvents envía una estructura de datos con los siguientes campos a CloudWatch RUM.
El ID de este lote de eventos RUM
Detalles del monitor de aplicaciones, que incluye lo siguiente:
ID del monitor de aplicaciones
versión de la aplicación supervisada
Datos del usuario, que incluye lo siguiente. Esto se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas.
ID de usuario generado por el cliente web
ID de sesión
La matriz de eventos de RUM en este lote.
Esquema de eventos de RUM
La estructura de cada evento de RUM incluye los siguientes campos.
El ID del evento
Una marca temporal
El tipo de evento
El agente de usuario
Metadatos del evento de RUM
Los metadatos incluyen metadatos de página, metadatos de agente de usuario, metadatos de geolocalización y metadatos de dominio.
Metadatos de la página
Los metadatos de la página incluyen lo siguiente:
ID de página
Título de página
ID de página principal. Esto se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas.
Profundidad de interacción: se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas.
Etiquetas de página: puede añadir etiquetas a los eventos de la página para agrupar las páginas. Para obtener más información, consulte Uso de grupos de páginas.
Metadatos del agente de usuario
Los metadatos del agente de usuario incluyen lo siguiente:
Idioma del navegador
Nombre del navegador
Versión del navegador
Nombre del sistema operativo
Versión del sistema operativo
Tipo de dispositivo
Tipos de plataformas
Metadatos de geolocalización
Los metadatos de geolocalización incluyen lo siguiente:
Código de país
Código de subdivisión
Metadatos del dominio
Los metadatos del dominio incluyen el dominio URL.
Detalles del evento de RUM
Los detalles de un evento cumplen con uno de los siguientes tipos de esquemas, según el tipo de evento.
Evento de inicio de sesión
Este evento no contiene campos. Esto se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas.
Esquema de vista de página
Un evento de Vista de página contiene las siguientes propiedades. Puede desactivar la colección de vistas de página si configura el cliente web. Para obtener más información, consulte la documentación del cliente web de CloudWatch RUM
Nombre | Tipo | Descripción |
---|---|---|
ID de página |
Cadena |
ID que representa de forma exclusiva esta página dentro de la aplicación. De forma predeterminada, esta es la ruta URL. |
ID de la página principal |
Cadena |
Id. de la página en la que se encontraba el usuario cuando navegó a la página actual. Esto se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas. |
Profundidad de interacción |
Cadena |
Esto se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas. |
Esquema de errores de JavaScript
Los eventos de error de JavaScript generados por el agente contienen las siguientes propiedades. El cliente web recopila estos eventos solo si ha seleccionado recopilar los errores de telemetría.
Nombre | Tipo | Descripción |
---|---|---|
Tipo de error |
Cadena |
El nombre del error, si existe alguno. Para obtener más información, consulte Error.prototype.name Es posible que algunos navegadores no admitan tipos de errores. |
Mensaje de error |
Cadena |
Mensaje de error. Para obtener más información, consulte Error.prototype.message Es posible que los mensajes de error no sean coherentes según los distintos navegadores. |
Seguimiento de pila |
Cadena |
El seguimiento de pila del error, si existe, se trunca a 150 caracteres. Para obtener más información, consulte Error.prototype.stack Es posible que algunos navegadores no admitan seguimientos de pila. |
Esquema de eventos DOM
Los eventos del modelo de objeto de documento (DOM) generados por el agente contienen las siguientes propiedades. Estos eventos no se recopilan de forma predeterminada. Solo se recopilan si activa la telemetría de interacciones. Para obtener más información, consulte la documentación del cliente web de CloudWatch RUM
Nombre | Tipo | Descripción |
---|---|---|
Evento |
Cadena |
El tipo de evento DOM, como hacer clic, deslizar o desplazar el ratón. Para obtener más información, consulte Event reference |
Elemento |
Cadena |
El tipo de elemento DOM |
(ID del elemento) |
Cadena |
Si el elemento que generó el evento tiene un ID, esta propiedad almacena ese ID. Para obtener más información, consulte Element.id |
Localizador CSS |
Cadena |
El localizador CSS utilizado para identificar el elemento DOM. |
ID de interacción |
Cadena |
Un identificador único para la interacción entre el usuario y la interfaz de usuario. |
Esquema de eventos de navegación
Los eventos de navegación se recopilan solo si el monitor de la aplicación tiene activada la telemetría de rendimiento.
Los eventos de navegación utilizan API de Navigation timing Level 1
nota
Las métricas de marca temporal se basan en DOMHighResTimestampstartTime
de forma predeterminada. Sin embargo, para el nivel 1, la métrica navigationStart
se descuenta de las métricas de marca temporal para obtener valores relativos. Todos los valores de marca temporal se expresan en milisegundos.
Los eventos de navegación contienen las siguientes propiedades.
Nombre | Tipo | Descripción | Notas |
---|---|---|---|
initiatorType |
Cadena |
Representa el tipo de recurso que inició el evento de rendimiento. |
Valor: “navegación” Nivel 1: “navegación” Nivel 2: entryData.initiatorType |
navigationType |
Cadena |
Representa el tipo de navegación. Este atributo no es obligatorio. |
Valor: este valor tiene que ser uno de los siguientes:
|
startTime |
Número |
Indica cuándo se desencadena el evento. |
Valor: 0 Nivel 1: entryData.navigationStart - entryData.navigationStart Nivel 2: entryData.startTime |
unloadEventStart |
Número |
Indica la hora en la que el documento previo de la ventana comenzó a descargarse tras el lanzamiento del evento de |
Valor: si no hay un documento previo o si el documento previo o uno de los redireccionamientos necesarios no son del mismo origen, el valor devuelto será 0. Nivel 1:
Nivel 2: entryData.unloadEventStart |
promptForUnload |
Número |
El tiempo que tarda en descargar el documento. En otras palabras, el tiempo entre |
Valor: si no hay un documento previo o si el documento previo o uno de los redireccionamientos necesarios no son del mismo origen, el valor devuelto será 0. Nivel 1: entryData.unloadEventEnd - entryData.unloadEventStart Nivel 2: entryData.unloadEventEnd - entryData.unloadEventStart |
redirectCount |
Número |
Número que representa la cantidad de redirecciones desde la última navegación sin redirección en el contexto de búsqueda actual. Este atributo no es obligatorio. |
Valor: si no hay redirección o si hay alguna redirección que no sea del mismo origen que el documento de destino, el valor devuelto será 0. Nivel 1: no disponible Nivel 2: entryData.redirectCount |
redirectStart |
Número |
El momento en que se inicia la primera redirección HTTP. |
Valor: si no hay redirección o si hay alguna redirección que no sea del mismo origen que el documento de destino, el valor devuelto será 0. Nivel 1:
Nivel 2: entryData.redirectStart |
redirectTime |
Número |
El tiempo que tarda la redirección HTTP. Esta es la diferencia entre |
Nivel 1: entryData.redirectEnd - entryData.redirectStart Nivel 2: entryData.redirectEnd - entryData.redirectStart |
workerStart |
Número |
Esta es una propiedad de la interfaz Este atributo no es obligatorio. |
Valor: si ya se está ejecutando un subproceso de Service Worker o inmediatamente antes de iniciar el subproceso de Service Worker, esta propiedad devuelve la hora inmediatamente antes de despachar Nivel 1: no disponible Nivel 2: entryData.workerStart |
workerTime |
Número |
Si un Service Worker intercepta el recurso,esto devuelve el tiempo necesario para la operación de subprocesos de trabajo. Este atributo no es obligatorio. |
Nivel 1: no disponible Nivel 2:
|
fetchStart |
Número |
La hora en la que el navegador está listo para recuperar el documento mediante una solicitud HTTP. Esto es antes de comprobar la caché de cualquier aplicación. |
Nivel 1:
Nivel 2: entrydata.fetchStart |
domainLookup |
Número |
Hora en la que se inicia la búsqueda de dominios. |
Valor: si se utiliza una conexión persistente o si la información se almacena en una caché o en un recurso local, el valor será el mismo que el de Nivel 1:
Nivel 2: entryData.domainLookupStart |
DNS |
Número |
El tiempo necesario para la búsqueda de dominios. |
Valor: si los recursos y los registros DNS se almacenan en la caché, el valor esperado será 0. Nivel 1: entryData.domainLookupEnd - entryData.domainLookupStart Nivel 2: entryData.domainLookupEnd - entryData.domainLookupStart |
nextHopProtocol |
Cadena |
Cadena que representa el protocolo de red que se utiliza para obtener el recurso. Este atributo no es obligatorio. |
Nivel 1: no disponible Nivel 2: entryData.nextHopProtocol |
connectStart |
Número |
Tiempo inmediatamente antes de que el agente de usuario comience a establecer la conexión con el servidor para recuperar el documento. |
Valor: si se utiliza una conexión persistente RFC2616 o si el documento actual se recupera desde cachés de aplicaciones o recursos locales relevantes, este atributo devuelve el valor de Nivel 1:
Nivel 2: entryData.connectStart |
connect |
Número |
Mide el tiempo necesario para establecer las conexiones de transporte o para realizar la autenticación SSL. También incluye el tiempo bloqueado que se tarda cuando hay demasiadas solicitudes simultáneas emitidas por el navegador. |
Nivel 1: entryData.connectEnd - entryData.connectStart Nivel 2: entryData.connectEnd - entryData.connectStart |
secureConnectionStart |
Número |
Si el esquema de URL de la página actual es “https”, este atributo devuelve el tiempo inmediatamente antes de que el agente de usuario inicie el proceso de enlace para proteger la conexión actual. Si no se utiliza HTTPS, devuelve 0. Para obtener más información sobre los esquemas de URL, consulte.URL representation |
Fórmula: entryData.secureConnectionStart |
tlsTime |
Número |
El tiempo que lleva completar un enlace SSL. |
Nivel 1:
Nivel 2:
|
requestStart |
Número |
Tiempo inmediatamente antes de que el agente de usuario comience a solicitar el recurso del servidor, de las memorias caché de aplicaciones pertinentes o de recursos locales. |
Nivel 1:
Nivel 2: entryData.requestStart |
timeToFirstByte |
Número |
Tiempo que tarda en recibir el primer byte de información después de haber realizado una solicitud. Esta vez es relativa a la |
Nivel 1: entryData.responseStart - entryData.requestStart Nivel 2: entryData.responseStart - entryData.requestStart |
responseStart |
Número |
Hora inmediatamente después de que el analizador HTTP del agente de usuario recibe el primer byte de la respuesta de las memorias caché de aplicaciones pertinentes, de recursos locales o del servidor. |
Nivel 1:
Nivel 2: entryData.responseStart |
responseTime |
Cadena |
Tiempo que tarda en recibir una respuesta completa en forma de bytes de las memorias caché de aplicaciones pertinentes, de recursos locales o del servidor. |
Nivel 1:
Nivel 2:
|
domInteractive |
Número |
El momento en el que el analizador finaliza su trabajo en el documento principal y se construye el DOM en HTML. En este momento, el |
Nivel 1:
Nivel 2: entryData.domInteractive |
domContentLoadedEventStart |
Número |
Representa el valor de tiempo igual al tiempo inmediatamente anterior a que el agente de usuario active el evento DOMContentLoaded en el documento actual. El evento DOMContentLoaded se activará cuando el documento HTML inicial se haya cargado y analizado por completo. En ese momento, el documento HTML principal habrá terminado de analizar, el navegador comenzará a construir el render tree y los subrecursos aún deberán cargarse. Esto no esperará a que finalicen de cargar las hojas de estilo, las imágenes y los submarcos. |
Nivel 1:
Nivel 2: entryData.domContentLoadedEventStart |
domContentLoaded |
Número |
Esta hora de inicio y fin de la construcción del render tree está marcada por Durante este tiempo, DOM y CSSOM están listos. Esta propiedad espera la ejecución del script, excepto los scripts asíncronos y creados dinámicamente. Si los scripts dependen de hojas de estilo, también notaLos valores reales de |
Nivel 2: entryData.domContentLoadedEventEnd - entryData.domContentLoadedEventStart Nivel 2: entryData.domContentLoadedEventEnd - entryData.domContentLoadedEventStart |
domComplete |
Número |
La hora inmediatamente anterior a que el navegador establezca la disponibilidad del documento actual para que se complete. En este momento, se ha completado la carga de subrecursos, como las imágenes. Esto incluye el tiempo que tarda en descargar contenido bloqueado como CSS y JavaScript sincrónico. Esto se aproxima a |
Nivel 1:
Nivel 2: entryData.domComplete |
domProcessingTime |
Número |
Tiempo total entre la respuesta y el inicio del evento de carga. |
Nivel 1: entryData.loadEventStart - entryData.responseEnd Nivel 2: entryData.loadEventStart - entryData.responseEnd |
loadEventStart |
Número |
La hora inmediatamente anterior a que se active el evento de |
Nivel 1:
Nivel 2: entryData.loadEventStart |
loadEventTime |
Número |
La diferencia entre |
Nivel 1: entryData.loadEventEnd - entryData.loadEventStart Nivel 2: entryData.loadEventEnd - entryData.loadEventStart |
Duración |
Cadena |
La duración es el tiempo total de carga de la página. Registra el tiempo de descarga de la página principal y todos sus subrecursos sincrónicos, así como el tiempo para renderizar la página. Los recursos asincrónicos, como los scripts, continúan descargándose más adelante. Esta es la diferencia entre el |
Nivel 1: entryData.loadEventEnd - entryData.navigationStart Nivel 2: entryData.duration |
headerSize |
Número |
Devuelve la diferencia entre Este atributo no es obligatorio. |
Nivel 1: no disponible Nivel 2: entryData.transferSize - entryData.encodedBodySize Nivel 2: entryData.transferSize - entryData.encodedBodySize |
compressionRatio |
Número |
La proporción de Este atributo no es obligatorio. |
Nivel 1:No disponible. Nivel 2:
|
navigationTimingLevel |
Número |
La versión de la API de temporización de navegación. |
Valor: 1 o 2 |
Esquema de eventos de recursos
Los eventos de recursos se recopilan solo si el monitor de aplicaciones tiene activada la telemetría de rendimiento.
Las métricas de marca temporal se basan en The DOMHighResTimeStamp typedefstartTime
de forma predeterminada. Sin embargo, para las API de nivel 1, la métrica de navigationStart
se resta de las métricas de marca temporal para obtener valores relativos. Todos los valores de marca temporal se expresan en milisegundos.
Los eventos de recursos que genera el agente contienen las siguientes propiedades.
Nombre | Tipo | Descripción | Notas |
---|---|---|---|
targetUrl |
Cadena |
Devuelve la URL del recurso. |
Fórmula: entryData.name |
initiatorType |
Cadena |
Representa el tipo de recurso que inició el evento de recurso de rendimiento. |
Valor: “recurso” Fórmula: entryData.initiatorType |
Duración |
Cadena |
Devuelve la diferencia entre las propiedades de Este atributo no es obligatorio. |
Fórmula: entryData.duration |
transferSize |
Número |
Devuelve el tamaño (en octetos) del recurso recuperado, incluidos los campos de encabezado de respuesta y el cuerpo de la carga de la respuesta. Este atributo no es obligatorio. |
Fórmula: entryData.transferSize |
fileType |
Cadena |
Extensiones derivadas del patrón de URL de destino. |
Esquema del evento Largest Contentful Paint
Los eventos Largest Contentful Paint incluyen las siguientes propiedades.
Estos eventos se recopilan solo si el monitor de aplicaciones tiene activada la telemetría de rendimiento.
Nombre | Descripción |
---|---|
Valor |
Para obtener más información, consulte Web vitals |
Primer evento de retardo de entrada
Los primeros eventos de retardo de entrada contienen las siguientes propiedades.
Estos eventos se recopilan solo si el monitor de aplicaciones tiene activada la telemetría de rendimiento.
Nombre | Descripción |
---|---|
Valor |
Para obtener más información, consulte Web vitals |
Evento de cambio de diseño acumulativo
Los eventos de cambio de diseño acumulativos contienen las siguientes propiedades.
Estos eventos se recopilan solo si el monitor de aplicaciones tiene activada la telemetría de rendimiento.
Nombre | Descripción |
---|---|
Valor |
Para obtener más información, consulte Web Vitals |
Evento HTTP
Los eventos HTTP pueden contener las siguientes propiedades. Contendrá un campo Response
(respuesta) o Error
(error), pero no ambos.
Estos eventos se recopilan solo si el monitor de aplicaciones tiene activada la telemetría HTTP.
Nombre | Descripción |
---|---|
Solicitud |
La solicitud incluye lo siguiente:
|
Respuesta |
La respuesta incluye lo que se detalla a continuación:
|
Error |
El campo de error incluye lo que se detalla a continuación:
|
Esquema de eventos de seguimiento de X-Ray
Estos eventos se recopilan solo si el monitor de la aplicación tiene activado el seguimiento de X-Ray.
Para obtener información sobre esquemas de eventos de seguimiento de X-Ray, consulte Documentos de segmentos de AWS X-Ray.