

# Informações coletadas pelo cliente da Web CloudWatch RUM
<a name="CloudWatch-RUM-datacollected"></a>

Esta seção documenta o esquema **PutRumEvents**, que define a estrutura dos dados que você pode coletar de sessões do usuário usando o CloudWatch RUM.

Uma solicitação **PutrumEvents** envia uma estrutura de dados com os campos a seguir para o CloudWatch RUM.
+ O ID deste lote de eventos do RUM
+ Detalhes do monitor de aplicações, que incluem o seguinte:
  + ID do monitor de aplicações
  + Versão da aplicação monitorado
+ Detalhes do usuário, que incluem o seguinte.** Isso é coletado somente se o monitor de aplicações tiver cookies habilitados.**
  + Um ID de usuário gerado pelo cliente da Web
  + ID de sessão
+ A matriz de [RUM events](#CloudWatch-RUM-datacollected-event)neste lote.

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

A estrutura de cada evento do RUM inclui os campos a seguir.
+ O ID do evento
+ Um timestamp
+ O tipo de evento
+ O atendente do usuário
+ [Metadados](#CloudWatch-RUM-datacollected-metadata)
+ [Detalhes do evento do RUM](#CloudWatch-RUM-datacollected-eventDetails)

## Metadados de evento do RUM
<a name="CloudWatch-RUM-datacollected-metadata"></a>

Os metadados incluem metadados de página, metadados do atendente do usuário, metadados de geolocalização e metadados de domínio.

### Metadados da página
<a name="CloudWatch-RUM-datacollected-metadata-page"></a>

Os metadados da página incluem o seguinte:
+ ID da página
+ Título da página
+ ID da página pai. – **Isso será coletado somente se o monitor de aplicações tiver cookies habilitados.**
+ Profundidade da interação: **Isso será coletado somente se o monitor de aplicações tiver cookies habilitados.**
+ Tags de página: é possível adicionar tags aos eventos de página para agrupar as páginas. Para obter mais informações, consulte [Usar grupos de páginas](CloudWatch-RUM-page-groups.md).

### Metadados do atendente do usuário
<a name="CloudWatch-RUM-datacollected-metadata-useragent"></a>

Os metadados do atendente do usuário incluem o seguinte:
+ Idioma do navegador
+ Nome do navegador
+ Versão do navegador
+ Nome do sistema operacional
+ Versão do sistema operacional 
+ Tipo de dispositivo
+ Tipos de plataforma

### Metadados de localização geográfica
<a name="CloudWatch-RUM-datacollected-metadata-geolocation"></a>

Os metadados de geolocalização incluem o seguinte:
+ Código do país
+ Código de subdivisão

### Metadados do domínio
<a name="CloudWatch-RUM-datacollected-metadata-domain"></a>

Os metadados do domínio incluem o domínio da URL.

## Detalhes do evento do RUM
<a name="CloudWatch-RUM-datacollected-eventDetails"></a>

Os detalhes de um evento seguem um dos tipos de esquemas a seguir, dependendo do tipo de evento.

### Evento de início da sessão
<a name="CloudWatch-RUM-datacollected-sessionstart"></a>

Esse evento não contém campos. **Isso é coletado somente se o monitor de aplicações tiver cookies habilitados.**

### Esquema de visualização de página
<a name="CloudWatch-RUM-datacollected-pageview"></a>

Um evento de **Page View** (Exibição de página) contém as seguintes propriedades. Você pode desativar a coleção de exibição de página configurando o cliente da Web. Para obter mais informações, consulte a [ Documentação do cliente da Web do CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md).


| Nome | Tipo | Descrição | 
| --- | --- | --- | 
|  **ID da página** |  String  |  Um ID que representa exclusivamente esta página dentro da aplicação. Por padrão, esse é o caminho do URL.  | 
|  **ID da página pai** |  String  |  O ID da página em que o usuário estava quando navegou para a página atual. **Isso é coletado somente se o monitor de aplicações tiver cookies habilitados.**   | 
|  **Profundidade de interação** |  String  |  **Isso é coletado somente se o monitor de aplicações tiver cookies habilitados.**   | 

### Esquema de erro do JavaScript
<a name="CloudWatch-RUM-datacollected-JavaScriptError"></a>

Os eventos de erro JavaScript gerados pelo atendente contêm as propriedades a seguir. O cliente da Web coleta esses eventos somente se você selecionou a coleta de telemetria de erros.


| Nome | Tipo | Descrição | 
| --- | --- | --- | 
|  **Tipo de erro** |  String  |  O nome do erro, se existir algum erro. Para obter mais informações, consulte [Error.prototype.Name](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name). Alguns navegadores podem não ser compatíveis com tipos de erro.  | 
|  **Mensagem de erro** |  String  |  A mensagem do erro. Para obter mais informações, consulte [Error.prototype.message](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message). Se o campo de erro não existir, esta é a mensagem do evento de erro. Para obter mais informações, consulte [ErrorEvent](https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent).  As mensagens de erro podem não ser consistentes em navegadores diferentes.  | 
|  **Rastreamento** |  String  |  O rastreamento de pilha do erro, se houver, reduzido a 150 caracteres. Para obter mais informações, consulte [Error.prototype.Stack](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Stack).  Alguns navegadores podem não suportar rastreamentos de pilha.  | 

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

Os eventos do modelo de objeto de documento (DOM) gerados pelo atendente contêm as propriedades a seguir. Esses eventos não são coletados por padrão. Eles serão coletados apenas se você ativar a telemetria das interações. Para obter mais informações, consulte a [ Documentação do cliente da Web do CloudWatch RUM](https://github.com/aws-observability/aws-rum-web/blob/main/docs/cdn_installation.md).


| Nome | Tipo | Descrição | 
| --- | --- | --- | 
|  **Event** |  String  |  O tipo de evento DOM, como clicar, rolar ou passar o mouse. Para obter mais informações, consulte [Event reference](https://developer.mozilla.org/en-US/docs/Web/Events).  | 
|  **Elemento** |  String  |  O tipo de elemento DOM  | 
|  **Element ID (ID de elemento** |  String  |  Se o elemento que gerou o evento tiver uma ID, essa propriedade armazenará essa ID. Para obter mais informações, consulte[Element.id](https://developer.mozilla.org/en-US/docs/Web/API/Element/id).  | 
|  **CSSLocator** |  String  |  O localizador CSS usado para identificar o elemento DOM.  | 
|  **InteractionId** |  String  |  Um ID exclusivo para a interação entre o usuário e a interface do usuário.  | 

### Esquema de eventos de navegação
<a name="CloudWatch-RUM-datacollected-NavigationEvent"></a>

Os eventos de navegação só serão coletados se o monitor de aplicações tiver telemetria de performance ativada.

Os eventos de navegação usam as APIs [Navigation timing Level 1](https://www.w3.org/TR/navigation-timing/#performancetiming) e [Navigation timing Level 2](https://w3c.github.io/navigation-timing). As APIs de nível 2 não são compatíveis com todos os navegadores, portanto, esses campos mais novos são opcionais.

**nota**  
As Métricas de timestamp são baseadas em [DomHighrestimestamp](https://www.w3.org/TR/hr-time-2/#sec-domhighrestimestamp). Com APIs de Nível 2, todos os horários são, por padrão, relativos ao `startTime`. No entanto, para as de Nível 1, a métrica `navigationStart` é subtraída das métricas de timestamp para obter valores relativos. Todos os valores de timestamp estão em milissegundos.

Os eventos de navegação contêm as propriedades a seguir.


| Nome | Tipo | Descrição | Observações | 
| --- | --- | --- | --- | 
|  **initiatorType** |  String  |  Representa o tipo de recurso que iniciou o evento de performance.  |  **Value:** "navigation" **Level 1** (Nível 1): "navigation" **Level 2** (Nível 2): entryData.initiatorType | 
|  **navigationType** |  String  |  Representa o tipo de navegação. Esse atributo não é obrigatório. |  **Value:** Esse valor deve ser um dos seguintes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html) | 
|  **startTime** |  Número  |  Indica quando o evento é acionado.  |  **Value:** 0 **Level 1** (Nível 1): entryData.navigationStart - entryData.navigationStart  **Level 2** (Nível 2): entryData.startTime | 
|  **unloadEventStart** |  Número  |  Indica o momento em que o documento anterior na janela começou a descarregar após o lançamento do evento`unload`.  |  **Value:** (Valor). Se não houver documento anterior ou se o documento anterior ou um dos redirecionamentos necessários não for da mesma origem, o valor retornado será 0. **Level 1 (Nível 1:** <pre>entryData.unloadEventStart > 0<br />  ? entryData.unloadEventStart - entryData.navigationStart<br />  : 0<br /></pre> **Level 2** (Nível 2): entryData.unloadEventStart | 
|  **PromptForUnload** |  Número  |  O tempo necessário para descarregar o documento. Em outras palavras, o tempo entre `unloadEventStart` e `unloadEventEnd`. `UnloadEventEnd` representa o momento em milissegundos quando o manipulador de eventos de descarga termina.  |  **Value:** (Valor). Se não houver documento anterior ou se o documento anterior ou um dos redirecionamentos necessários não for da mesma origem, o valor retornado será 0. **Level 1** (Nível 1): entryData.unloadEventEnd - entryData.unloadEventStart **Level 2** (Nível 2): entryData.unloadEventEnd - entryData.unloadEventStart | 
|  **redirectCount** |  Número  |  Um número que representa o número de redirecionamentos desde a última navegação sem redirecionamento no contexto de navegação atual.  Esse atributo não é obrigatório. |  **Value:** (Valor) Se não houver redirecionamento ou se houver algum redirecionamento que não seja da mesma origem que o documento de destino, o valor retornado será 0. **Level 1** (Nível 1): não disponível **Level 2** (Nível 2): entryData.redirectCount | 
|  **redirectStart** |  Número  |  O momento em que o primeiro redirecionamento HTTP é iniciado.   |  **Value:** (Valor) Se não houver redirecionamento ou se houver algum redirecionamento que não seja da mesma origem que o documento de destino, o valor retornado será 0. **Level 1 (Nível 1:** <pre>entryData.redirectStart > 0<br />  ? entryData.redirectStart - entryData.navigationStart<br />  : 0</pre> **Level 2** (Nível 2): entryData.redirectStart | 
|  **redirectTime** |  Número  |  O tempo necessário para o redirecionamento HTTP. Essa é a diferença entre `redirectStart` e `redirectEnd`.   |  **Level 1** (Nível 1): entryData.redirectEnd - entryData.redirectStart **Level 2** (Nível 2): entryData.redirectEnd - entryData.redirectStart | 
|  **workerStart** |  Número  |  Esta é uma propriedade da interface `PerformanceResourceTiming`. Ela marca o início da operação do encadeamento do trabalhador. Esse atributo não é obrigatório. |  **Value:** (Valor) Se um thread do Service Worker já estiver em execução ou imediatamente antes de seu início, essa propriedade retornará a hora imediatamente antes do envio `FetchEvent`. Ela retornará 0 se o recurso não for interceptado por um Service Worker. **Level 1** (Nível 1): não disponível **Level 2** (Nível 2): entryData.workerStart | 
|  **workerTime** |  Número  |  Se o recurso for interceptado por um Service Worker, isso retornará o tempo necessário para a operação de thread do trabalhador. Esse atributo não é obrigatório. |  **Level 1** (Nível 1): não disponível  **Level 2 (Nível 2:** <pre>entryData.workerStart > 0<br />   ? entryData.fetchStart - entryData.workerStart<br />   : 0</pre>  | 
|  **fetchStart** |  Número  |  O horário em que o navegador está pronto para buscar o documento usando uma solicitação HTTP. Isso ocorre antes de verificar qualquer cache de aplicação. |  **Level 1 (Nível 1:**  <pre>: entryData.fetchStart > 0<br />  ? entryData.fetchStart - entryData.navigationStart<br />  : 0</pre> **Level 2** (Nível 2): entryData.fetchStart | 
|  **domainLookupStart** |  Número  |  O momento em que a pesquisa do domínio é iniciada. |  **Value:** (Valor) Se uma conexão persistente for usada ou se as informações forem armazenadas em um cache ou recurso local, o valor será o mesmo que `fetchStart`. **Level 1 (Nível 1:** <pre>entryData.domainLookupStart > 0<br />  ? entryData.domainLookupStart - entryData.navigationStart<br />  : 0</pre> **Level 2** (Nível 2): entryData.domainLookupStart | 
|  **DNS** |  Número  |  O tempo necessário para a pesquisa de domínio. |  **Value:** (Valor) Se os recursos e os registros DNS forem armazenados em cache, o valor esperado será 0. **Level 1** (Nível 1): entryData.domainLookupEnd - entryData.domainLookupStart **Level 2** (Nível 2): entryData.domainLookupEnd - entryData.domainLookupStart | 
|  **nextHopProtocol** |  String  |  Uma string que representa o protocolo de rede usado para buscar o recurso. Esse atributo não é obrigatório. |  **Level 1** (Nível 1): não disponível **Level 2** (Nível 2): entryData.nextHopProtocol | 
|  **connectStart** |  Número  |  O momento imediatamente anterior ao atendente do usuário começar a estabelecer a conexão com o servidor para recuperar o documento. |  **Value** (Valor): se uma conexão persistente RFC2616 for usada ou se o documento atual for recuperado de caches de aplicações relevantes ou recursos locais, esse atributo retornará o valor de `domainLookupEnd`. **Level 1 (Nível 1:** <pre>entryData.connectStart > 0<br />  ? entryData.connectStart - entryData.navigationStart<br />  : 0</pre> **Level 2** (Nível 2): entryData.connectStart  | 
|  **connect** |  Número  |  Mede o tempo necessário para estabelecer as conexões de transporte ou para executar a autenticação SSL. Também inclui o tempo bloqueado que é levado quando há muitas solicitações simultâneas emitidas pelo navegador.  |  **Level 1** (Nível 1): entryData.connectEnd - entryData.connectStart **Level 2** (Nível 2): entryData.connectEnd - entryData.connectStart | 
|  **SecureConnectionStart** |  Número  |  Se o esquema de URL da página atual for “https”, esse atributo retornará o momento imediatamente anterior ao atendente do usuário iniciar o processo de handshake para proteger a conexão atual. Ele retorna 0 se HTTPS não for usado. Para obter mais informações sobre esquemas de URL, consulte[Representação de URL](https://url.spec.whatwg.org/#concept-url-scheme).  |  **Formula:** entryData.secureConnectionStart | 
|  **tlsTime** |  Número  |  O tempo necessário para completar um Handshake do SSL.  |  **Level 1 (Nível 1:** <pre>entryData.secureConnectionStart > 0<br />   ? entryData.connectEnd - entryData.secureConnectionStart<br />   : 0</pre> **Level 2 (Nível 2:** <pre>entryData.secureConnectionStart > 0<br />   ? entryData.connectEnd - entryData.secureConnectionStart<br />   : 0</pre>  | 
|  **requestStart** |  Número  |  O momento imediatamente anterior ao atendente do usuário começar a solicitar o recurso do servidor ou de caches de aplicações relevantes ou de recursos locais.   | **Level 1 (Nível 1:** <pre>: entryData.requestStart > 0<br />  ? entryData.requestStart - entryData.navigationStart<br />  : 0<br /></pre> **Level 2** (Nível 2): entryData.requestStart | 
|  **TimeToFirstByte** |  Número  |  O tempo necessário para receber o primeiro byte de informações após a solicitação ser feita. Esse tempo é relativo ao `startTime`.   | **Level 1** (Nível 1): entryData.responseStart - entryData.requestStart **Level 2** (Nível 2): entryData.responseStart - EntryData.requestStart | 
|  **ResponseStart** |  Número  |  O tempo imediatamente posterior ao atendente analisador de HTTP do usuário receber o primeiro byte da resposta dos caches de aplicações relevantes, de recursos locais ou do servidor.   | **Level 1 (Nível 1:** <pre>entryData.responseStart > 0<br />   ? entryData.responseStart - entryData.navigationStart<br />   : 0</pre> **Level 2:** entryData.responseStart   | 
|  **ResponseTime** |  String  |  O tempo necessário para receber uma resposta completa na forma de bytes dos caches de aplicações relevantes, de recursos locais ou do servidor.   | **Level 1 (Nível 1:** <pre>entryData.responseStart > 0<br />  ? entryData.responseEnd - entryData.responseStart<br />  : 0</pre> **Level 2 (Nível 2:** <pre>entryData.responseStart > 0<br />  ? entryData.responseEnd - entryData.responseStart<br />  : 0</pre>  | 
|  **domInteractive** |  Número  |  O momento em que o analisador terminou seu trabalho no documento principal e o HTML DOM é construído. Neste momento, seu `Document.readyState` se altera para "interativo" e o evento correspondente `readystatechange` lançado.  | **Level 1 (Nível 1:** <pre>entryData.domInteractive > 0<br />  ? entryData.domInteractive - entryData.navigationStart<br />  : 0</pre> **Level 2** (Nível 2): entryData.domInteractive  | 
|  **domContentLoadedEventStart** |  Número  |  Representa o valor de tempo igual ao tempo imediatamente anterior ao atendente do usuário acionar o evento DOMContentLoaded no documento atual. O evento DOMContentLoaded é acionado quando o documento HTML inicial estiver completamente carregado e analisado. Neste momento, o documento HTML principal terminou a análise, o navegador começa a construir a árvore de renderização e os sub-recursos ainda precisam ser carregados. Ele não espera que folhas de estilo, imagens e subquadros terminem o carregamento.  | **Level 1 (Nível 1:** <pre>entryData.domContentLoadedEventStart > 0<br />  ? entryData.domContentLoadedEventStart - entryData.navigationStart<br />  : 0<br /></pre> **Level 2** (Nível 2): entryData.domContentLoadedEventStart  | 
|  **domContentLoaded** |  Número  |  Esse horário de início e término da construção da árvore de renderização é marcado pelos `domContentLoadedEventStart` e `domContentLoadedEventEnd`. Ele permite que o CloudWatch RUM rastreie a execução. Essa propriedade é a diferença entre `domContentLoadedStart` e `domContentLoadedEnd`. Durante esse período, o DOM e o CSSOM estão prontos. Essa propriedade aguarda a execução do script, exceto scripts assíncronos e criados dinamicamente. Se os scripts dependem de folhas de estilo, o `domContentLoaded` aguarda nas folhas de estilo, também. Ele não aguarda nas imagens.   Os valores reais de `domContentLoadedStart` e `domContentLoadedEnd` se aproximam de `domContentLoaded` no painel Rede do Google Chrome. Ele indica o tempo de construção da árvore de renderização HTML DOM \$1 CSSOM desde o início do processo de carregamento da página. No caso das métricas de navegação, o valor de `domContentLoaded` representa a diferença entre os valores inicial e final, que é o tempo necessário somente para baixar sub-recursos e construção de árvore de renderização.    | **Level 2** (Nível 2): entryData.domContentLoadedEventEnd - entryData.domContentLoadedEventStart  **Level 2** (Nível 2): entryData.domContentLoadedEventEnd - entryData.domContentLoadedEventStart  | 
|  **domComplete** |  Número  |  O momento imediatamente anterior ao navegador definir a prontidão do documento atual para a sua conclusão. Nesse ponto, o carregamento de sub-recursos, como imagens, está completo. Isso inclui o tempo necessário para baixar conteúdo de bloqueio, como CSS e JavaScript síncrono. Isso se aproxima de `loadTime` no painel Rede do Google Chrome.   | **Level 1 (Nível 1:** <pre>entryData.domComplete > 0<br />  ? entryData.domComplete - entryData.navigationStart<br />  : 0<br /></pre> **Level 2** (Nível 2): entryData.domComplete  | 
|  **domProcessingTime** |  Número  |  O tempo total entre a resposta e o início do evento de carga.  | **Level 1** (Nível 1): entryData.loadEventStart - entryData.responseEnd **Level 2** (Nível 2): entryData.loadEventStart - entryData.responseEnd  | 
|  **loadEventStart** |  Número  |  O tempo imediatamente anterior ao disparo do evento `load` do documento atual.  |  **Level 1 (Nível 1:** <pre>entryData.loadEventStart > 0<br />  ? entryData.loadEventStart - entryData.navigationStart<br />  : 0<br /></pre> **Level 2** (Nível 2): entryData.loadEventStart | 
|  **loadEventTime** |  Número  |  A diferença entre `loadEventStart` e `loadEventEnd`. Funções adicionais ou lógicas aguardando esse evento de carregamento serão disparadas durante esse período. |  **Level 1** (Nível 1): entryData.loadEventEnd - entryData.loadEventStart **Level 2** (Nível 2): entryData.loadEventEnd - entryData.loadEventStart | 
|  **duration** |  String  |  A duração é o tempo total de carregamento da página. Ela registra o tempo para baixar a página principal e todos os seus sub-recursos síncronos, e também para renderizar a página. Recursos assíncronos, como scripts, continuam sendo baixados posteriormente. Essa é a diferença entre as propriedades `loadEventEnd` e `startTime` propriedades.  | **Level 1** (Nível 1): entryData.loadEventEnd - entryData.navigationStart **Level 2** (Nível 2): entryData.duration | 
|  **headerSize** |  Número  |  Devolve a diferença entre `transferSize` e `encodedBodySize`. Esse atributo não é obrigatório.  | **Level 1** (Nível 1): não disponível **Level 2** (Nível 2): entryData.transferSize - entryData.encodedBodySize **Level 2** (Nível 2): entryData.transferSize - entryData.encodedBodySize | 
|  **compressionRatio** |  Número  |  A proporção de `encodedBodySize` e `decodedBodySize`. O valor de`encodedBodySize` é o tamanho compactado do recurso, excluindo os cabeçalhos HTTP. O valor de `decodedBodySize` é o tamanho descompactado do recurso, excluindo os cabeçalhos HTTP. Esse atributo não é obrigatório.  | **Level 1** (Nível 1): não disponível **Level 2 (Nível 2:**<pre>entryData.encodedBodySize > 0<br />  ? entryData.decodedBodySize / entryData.encodedBodySize<br />  : 0</pre>  | 
|  **navigationTimingLevel** |  Número  |  A versão da API de tempo de navegação.  | **Value:** (Valor) 1 ou 2  | 

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

Os eventos de recurso são coletados somente se o monitor de aplicações tiver a telemetria de performance ativada.

Métricas de timestamp são baseadas em [The DOMHighResTimeStamp typedef](https://www.w3.org/TR/hr-time-2/#sec-domhighrestimestamp). Com APIs de Nível 2, por padrão, todos os horários são relativos ao `startTime`. Mas para APIs de Nível 1, a métrica `navigationStart` é subtraída das métricas de timestamp para obter valores relativos. Todos os valores de timestamp estão em milissegundos.

Os eventos de recursos gerados pelo atendente contêm as propriedades a seguir.


| Nome | Tipo | Descrição | Observações | 
| --- | --- | --- | --- | 
|  **TargetUrl** |  String  |  Retorna a URL do recurso.  |  **Fórmula:** [entryData.name](http://entrydata.name/) | 
|  **InitiatorType** |  String  |  Representa o tipo de recurso que iniciou o evento de recurso de performance.  |  **Value:** "resource" **Fórmula:** entryData.InitiatorType | 
|  **duration** |  String  |  Retorna a diferença entre as propriedades `responseEnd` e `startTime`.Esse atributo não é obrigatório.  | **Formula:** entryData.duration | 
|  **transferSize** |  Número  |  Retorna o tamanho (em octetos) do recurso buscado, incluindo os campos do cabeçalho de resposta e o corpo da carga útil da resposta.Esse atributo não é obrigatório.  | **Formula:** entryData.transferSize | 
|  **fileType** |  String  |  Extensões derivadas do padrão de URL de destino.  |   | 

### Esquema de evento largest contentful paint (maior exibição de conteúdos)
<a name="CloudWatch-RUM-datacollected-LargestPaintEvent"></a>

Os eventos de largest contentful paint event contêm as propriedades a seguir.

Esses eventos só são coletados se a telemetria de performance do monitor de aplicações estiver ativada.


| Name (Nome) | Descrição | 
| --- | --- | 
|  **Valor** |  Para obter mais informações, consulte [Web Vitals](https://web.dev/vitals/).  | 

### Evento de first input delay (atraso da primeira entrada)
<a name="CloudWatch-RUM-datacollected-FirstInputDelayEvent"></a>

Os primeiros eventos first input delay contêm as seguintes propriedades.

Esses eventos só são coletados se a telemetria de performance do monitor de aplicações estiver ativada.


| Name (Nome) | Descrição | 
| --- | --- | 
|  **Valor** |  Para obter mais informações, consulte [Web Vitals](https://web.dev/vitals/).  | 

### Evento de cumulative layout shift (deslocamento cumulativo de layout)
<a name="CloudWatch-RUM-datacollected-CumulativeShift"></a>

Os eventos de cumulative layout shift contêm as propriedades a seguir.

Esses eventos só são coletados se a telemetria de performance do monitor de aplicações estiver ativada.


| Name (Nome) | Descrição | 
| --- | --- | 
|  **Valor** |  Para obter mais informações, consulte [Web Vitals](https://web.dev/vitals/).  | 

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

Os eventos HTTP podem conter as propriedades a seguir. Ele conterá um campo `Response` ou um campo `Error`, mas não ambos.

Esses eventos só são coletados se a telemetria HTTP do monitor de aplicações estiver ativada.


| Name (Nome) | Descrição | 
| --- | --- | 
|  **Solicitação** |  O campo de solicitação inclui o seguinte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html)  | 
|  **Resposta** |  O campo de resposta inclui o seguinte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html)  | 
|  **Erro** |  O campo de erros inclui o seguinte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-datacollected.html)  | 

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

Esses eventos são coletados somente se o monitor de aplicações tiver o rastreamento de X-Ray ativado.

Para obter informações sobre esquemas de eventos de rastreamento de X-Ray, consulte [Documentos de segmento do AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html).

# Tempo de mudança de rota para aplicações de página única
<a name="CloudWatch-RUM-route-change-timing"></a>

Em uma aplicação tradicional de várias páginas, ao solicitar o carregamento de um novo conteúdo, o usuário está, na verdade, solicitando uma nova página HTML do servidor. Por isso, o cliente Web do CloudWatch RUM registra os tempos de carregamento usando as métricas regulares da API de performance.

No entanto, aplicações Web de página única usam JavaScript e Ajax para atualizar a interface sem carregar uma nova página do servidor. As atualizações de página única não são registradas pela API de tempo do navegador e, em vez disso, usam o tempo de mudança de rota.

O CloudWatch RUM é compatível tanto com o monitoramento de carregamentos de páginas inteiras do servidor como de atualizações de página única, com as seguintes diferenças:
+ No tempo de mudança de rota, não há métricas fornecidas pelo navegador, como `tlsTime`, `timeToFirstByte` e outras.
+ No tempo de mudança de rota, o campo `initiatorType` será `route_change`. 

O cliente Web do CloudWatch RUM escuta as interações do usuário que podem levar a uma mudança de rota e, quando essa interação do usuário é registrada, o cliente Web registra um carimbo de data/hora. Em seguida, o tempo de mudança de rota começará a ser contado se estas duas condições forem verdadeiras:
+ Uma API de histórico do navegador (exceto os botões avançar e voltar do navegador) foi usada para realizar a mudança de rota.
+ A diferença entre o tempo de detecção da mudança de rota e o carimbo de data/hora da interação mais recente do usuário é inferior a 1.000 ms. Isso evita a distorção de dados.

Após ser iniciado, o tempo de mudança de rota será concluído se não houver solicitações AJAX e mutações DOM em andamento. Em seguida, o carimbo de data/hora da última atividade concluída será usado como carimbo de data/hora de conclusão.

O tempo da mudança de rota expirará se houver solicitações AJAX ou mutações DOM em andamento por mais de 10 segundos (por padrão). Nesse caso, o cliente Web do CloudWatch RUM não registrará mais o tempo dessa mudança de rota.

Como resultado, a duração de um evento de mudança de rota é calculada da seguinte forma:

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