

# Información recopilada por el cliente web de CloudWatch RUM
<a name="CloudWatch-RUM-datacollected"></a>

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](#CloudWatch-RUM-datacollected-event) en este lote.

## Esquema de eventos de RUM
<a name="CloudWatch-RUM-datacollected-event"></a>

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](#CloudWatch-RUM-datacollected-metadata)
+ [Detalles del evento de RUM](#CloudWatch-RUM-datacollected-eventDetails)

## Metadatos del evento de RUM
<a name="CloudWatch-RUM-datacollected-metadata"></a>

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
<a name="CloudWatch-RUM-datacollected-metadata-page"></a>

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](CloudWatch-RUM-page-groups.md).

### Metadatos del agente de usuario
<a name="CloudWatch-RUM-datacollected-metadata-useragent"></a>

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
<a name="CloudWatch-RUM-datacollected-metadata-geolocation"></a>

Los metadatos de geolocalización incluyen lo siguiente:
+ Código de país
+ Código de subdivisión

### Metadatos del dominio
<a name="CloudWatch-RUM-datacollected-metadata-domain"></a>

Los metadatos del dominio incluyen el dominio URL.

## Detalles del evento de RUM
<a name="CloudWatch-RUM-datacollected-eventDetails"></a>

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
<a name="CloudWatch-RUM-datacollected-sessionstart"></a>

Este evento no contiene campos. **Esto se recopila solo si el monitor de aplicaciones tiene las cookies habilitadas.**

### Esquema de vista de página
<a name="CloudWatch-RUM-datacollected-pageview"></a>

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](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md).


| 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
<a name="CloudWatch-RUM-datacollected-JavaScriptError"></a>

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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message). Si el campo de error no existe, este es el mensaje del evento de error. Para obtener más información, consulte [ErrorEvent](https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent).  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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Stack).  Es posible que algunos navegadores no admitan seguimientos de pila.  | 

### Esquema de eventos DOM
<a name="CloudWatch-RUM-datacollected-DOMEvent"></a>

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](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md).


| 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](https://developer.mozilla.org/en-US/docs/Web/Events) (Referencia de eventos).  | 
|  **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](https://developer.mozilla.org/en-US/docs/Web/API/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
<a name="CloudWatch-RUM-datacollected-NavigationEvent"></a>

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](https://www.w3.org/TR/navigation-timing/#performancetiming) (Temporización de navegación Nivel 1) y [Navigation timing Level 2](https://w3c.github.io/navigation-timing) (Temporización de navegación Nivel 2). Las API de nivel 2 no son compatibles con todos los navegadores, por lo que estos campos más recientes son opcionales.

**nota**  
Las métricas de marca temporal se basan en [DOMHighResTimestamp](https://www.w3.org/TR/hr-time-2/#sec-domhighrestimestamp). Con las API de nivel 2, todas las temporizaciones están relacionadas a de forma predeterminada `startTime`. 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html) | 
|  **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 `unload` (descarga).  |  **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:** <pre>entryData.unloadEventStart > 0<br />  ? entryData.unloadEventStart - entryData.navigationStart<br />  : 0<br /></pre> **Nivel 2:** entryData.unloadEventStart | 
|  **promptForUnload** |  Número  |  El tiempo que tarda en descargar el documento. En otras palabras, el tiempo entre `unloadEventStart` y `unloadEventEnd`. `UnloadEventEnd` representa el momento en milisegundos en el que el controlador de eventos de descarga finaliza.  |  **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:** <pre>entryData.redirectStart > 0<br />  ? entryData.redirectStart - entryData.navigationStart<br />  : 0</pre> **Nivel 2:** entryData.redirectStart | 
|  **redirectTime** |  Número  |  El tiempo que tarda la redirección HTTP. Esta es la diferencia entre `redirectStart` y `redirectEnd`.   |  **Nivel 1:** entryData.redirectEnd - entryData.redirectStart **Nivel 2:** entryData.redirectEnd - entryData.redirectStart | 
|  **workerStart** |  Número  |  Esta es una propiedad de la interfaz `PerformanceResourceTiming`. Marca el comienzo de la operación de subprocesos de trabajo. 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 `FetchEvent`. Devuelve 0 si un Service Worker no intercepta el recurso. **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:** <pre>entryData.workerStart > 0<br />   ? entryData.fetchStart - entryData.workerStart<br />   : 0</pre>  | 
|  **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:**  <pre>: entryData.fetchStart > 0<br />  ? entryData.fetchStart - entryData.navigationStart<br />  : 0</pre> **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 `fetchStart`. **Nivel 1:** <pre>entryData.domainLookupStart > 0<br />  ? entryData.domainLookupStart - entryData.navigationStart<br />  : 0</pre> **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 `domainLookupEnd`. **Nivel 1:** <pre>entryData.connectStart > 0<br />  ? entryData.connectStart - entryData.navigationStart<br />  : 0</pre> **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](https://url.spec.whatwg.org/#concept-url-scheme) (Representación de URL).  |  **Fórmula:** entryData.secureConnectionStart | 
|  **tlsTime** |  Número  |  El tiempo que lleva completar un enlace SSL.  |  **Nivel 1:** <pre>entryData.secureConnectionStart > 0<br />   ? entryData.connectEnd - entryData.secureConnectionStart<br />   : 0</pre> **Nivel 2:** <pre>entryData.secureConnectionStart > 0<br />   ? entryData.connectEnd - entryData.secureConnectionStart<br />   : 0</pre>  | 
|  **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:** <pre>: entryData.requestStart > 0<br />  ? entryData.requestStart - entryData.navigationStart<br />  : 0<br /></pre> **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 `startTime`.   | **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:** <pre>entryData.responseStart > 0<br />   ? entryData.responseStart - entryData.navigationStart<br />   : 0</pre> **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:** <pre>entryData.responseStart > 0<br />  ? entryData.responseEnd - entryData.responseStart<br />  : 0</pre> **Nivel 2:** <pre>entryData.responseStart > 0<br />  ? entryData.responseEnd - entryData.responseStart<br />  : 0</pre>  | 
|  **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 `Document.readyState` cambia a “interactivo” y se genera el evento `readystatechange` correspondiente.  | **Nivel 1:** <pre>entryData.domInteractive > 0<br />  ? entryData.domInteractive - entryData.navigationStart<br />  : 0</pre> **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:** <pre>entryData.domContentLoadedEventStart > 0<br />  ? entryData.domContentLoadedEventStart - entryData.navigationStart<br />  : 0<br /></pre> **Nivel 2:** entryData.domContentLoadedEventStart  | 
|  **domContentLoaded** |  Número  |  Esta hora de inicio y fin de la construcción del render tree está marcada por `domContentLoadedEventStart` y `domContentLoadedEventEnd`. Permite que CloudWatch RUM realice un seguimiento de la ejecución. Esta propiedad es la diferencia entre `domContentLoadedStart` y `domContentLoadedEnd`. 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 `domContentLoaded` espera a las hojas de estilo. No espera a las imágenes.   Los valores reales de `domContentLoadedStart` y `domContentLoadedEnd` se aproximan a `domContentLoaded` en el panel Red de Google Chrome. Indica el tiempo de construcción del render tree HTML DOM \$1 CSSOM desde el principio del proceso de carga de la página. En el caso de las métricas de navegación, el valor `domContentLoaded` representa la diferencia entre los valores inicial y final, que es el tiempo necesario para descargar los subrecursos y la construcción del render tree únicamente.    | **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 `loadTime` en el panel de Red de Google Chrome.   | **Nivel 1:** <pre>entryData.domComplete > 0<br />  ? entryData.domComplete - entryData.navigationStart<br />  : 0<br /></pre> **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 `load` (carga) del documento actual.  |  **Nivel 1:** <pre>entryData.loadEventStart > 0<br />  ? entryData.loadEventStart - entryData.navigationStart<br />  : 0<br /></pre> **Nivel 2:** entryData.loadEventStart | 
|  **loadEventTime** |  Número  |  La diferencia entre `loadEventStart` y `loadEventEnd`. Durante este tiempo se activarán funciones o lógica adicionales que aguardan este evento de carga. |  **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 `loadEventEnd` y `startTime` propiedades.  | **Nivel 1:** entryData.loadEventEnd - entryData.navigationStart **Nivel 2:** entryData.duration | 
|  **headerSize** |  Número  |  Devuelve la diferencia entre `transferSize` y `encodedBodySize`. 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 `encodedBodySize` y `decodedBodySize`. El valor de `encodedBodySize` es el tamaño comprimido del recurso, sin incluir los encabezados HTTP. El valor de `decodedBodySize` es el tamaño descomprimido del recurso, sin incluir los encabezados HTTP. Este atributo no es obligatorio.  | **Nivel 1:**No disponible. **Nivel 2:**<pre>entryData.encodedBodySize > 0<br />  ? entryData.decodedBodySize / entryData.encodedBodySize<br />  : 0</pre>  | 
|  **navigationTimingLevel** |  Número  |  La versión de la API de temporización de navegación.  | **Valor**: 1 o 2  | 

### Esquema de eventos de recursos
<a name="CloudWatch-RUM-datacollected-ResourceEvent"></a>

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 typedef](https://www.w3.org/TR/hr-time-2/#sec-domhighrestimestamp). Con las API de nivel 2, todas las temporizaciones son relativas a la de forma predeterminada `startTime`. 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](http://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 `responseEnd` y `startTime`.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
<a name="CloudWatch-RUM-datacollected-LargestPaintEvent"></a>

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](https://web.dev/vitals/).  | 

### Primer evento de retardo de entrada
<a name="CloudWatch-RUM-datacollected-FirstInputDelayEvent"></a>

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](https://web.dev/vitals/).  | 

### Evento de cambio de diseño acumulativo
<a name="CloudWatch-RUM-datacollected-CumulativeShift"></a>

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](https://web.dev/vitals/).  | 

### Evento HTTP
<a name="CloudWatch-RUM-datacollected-HTTP"></a>

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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html)  | 
|  **Respuesta** |  La respuesta incluye lo que se detalla a continuación: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html)  | 
|  **Error** |  El campo de error incluye lo que se detalla a continuación: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html)  | 

### Esquema de eventos de seguimiento de X-Ray
<a name="CloudWatch-RUM-datacollected-xraytraceEvent"></a>

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](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html).

# Tiempo de cambio de ruta para aplicaciones de una sola página
<a name="CloudWatch-RUM-route-change-timing"></a>

En una aplicación tradicional de varias páginas, cuando un usuario solicita que se cargue contenido nuevo, en realidad está solicitando una nueva página HTML al servidor. Como resultado, el cliente web CloudWatch RUM captura los tiempos de carga mediante las métricas de API de desempeño habituales.

Sin embargo, las aplicaciones web de una sola página utilizan JavaScript y Ajax para actualizar la interfaz sin cargar una página nueva desde el servidor. La API de tiempo del navegador no registra las actualizaciones de una sola página, sino que utilizan el tiempo de cambio de ruta.

CloudWatch RUM admite la supervisión de las cargas de páginas completas desde el servidor y de las actualizaciones de una sola página con las siguientes diferencias:
+ En lo que respecta al tiempo de cambio de ruta, no hay métricas proporcionadas por el navegador, como `tlsTime`, `timeToFirstByte` y así sucesivamente.
+ En lo relativo al tiempo de cambio de ruta, el campo `initiatorType` será `route_change`. 

El cliente web de CloudWatch RUM escucha las interacciones de los usuarios que pueden provocar un cambio de ruta y, cuando se registra una interacción así, el cliente web registra una marca de tiempo. El tiempo de cambio de ruta se iniciará entonces si se cumplen las siguientes condiciones:
+ Se ha utilizado una API de historial del navegador (excepto los botones de avance y retroceso del navegador) para realizar el cambio de ruta.
+ La diferencia entre la hora de detección del cambio de ruta y la última marca de tiempo de interacción del usuario es inferior a 1000 ms. Esto evita el sesgo de datos.

Luego, una vez da comienzo el tiempo de cambio de ruta, ese tiempo se completa si no hay solicitudes AJAX ni mutaciones DOM en curso. Seguidamente, se utilizará la marca de tiempo de la última actividad completada como marca de tiempo de finalización.

El tiempo de cambio de ruta expirará si hay solicitudes AJAX en curso o mutaciones de DOM durante más de 10 segundos (de forma predeterminada). En este caso, el cliente web de CloudWatch RUM ya no registrará el tiempo de este cambio de ruta.

Como resultado, la duración de un evento de cambio de ruta se calcula de la siguiente manera:

```
(time of latest completed activity) - (latest user interaction timestamp)
```