Informações coletadas pelo cliente da Web CloudWatch RUM
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 eventsneste lote.
Esquema de evento do RUM
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 de evento do RUM
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
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 ter mais informações, consulte Usar grupos de páginas.
Metadados do atendente do usuário
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
Os metadados de geolocalização incluem o seguinte:
Código do país
Código de subdivisão
Metadados do domínio
Os metadados do domínio incluem o domínio da URL.
Detalhes do evento do RUM
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
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
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
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
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 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 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 Alguns navegadores podem não suportar rastreamentos de pilha. |
Esquema de eventos DOM
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
Nome | Tipo | Descrição |
---|---|---|
Evento |
String |
O tipo de evento DOM, como clicar, rolar ou passar o mouse. Para obter mais informações, consulte Event reference |
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, consulteElement.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
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
nota
As Métricas de timestamp são baseadas em DomHighrestimestampstartTime
. 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:
|
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 |
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):
Level 2 (Nível 2): entryData.unloadEventStart |
PromptForUnload |
Número |
O tempo necessário para descarregar o documento. Em outras palavras, o tempo entre |
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):
Level 2 (Nível 2): entryData.redirectStart |
redirectTime |
Número |
O tempo necessário para o redirecionamento HTTP. Essa é a diferença entre |
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 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 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):
|
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):
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 Level 1 (Nível 1):
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 Level 1 (Nível 1):
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, consulteRepresentação de URL |
Formula: entryData.secureConnectionStart |
tlsTime |
Número |
O tempo necessário para completar um Handshake do SSL. |
Level 1 (Nível 1):
Level 2 (Nível 2):
|
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):
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 |
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):
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):
Level 2 (Nível 2):
|
domInteractive |
Número |
O momento em que o analisador terminou seu trabalho no documento principal e o HTML DOM é construído. Neste momento, seu |
Level 1 (Nível 1):
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):
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 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 notaOs valores reais de |
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 |
Level 1 (Nível 1):
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 |
Level 1 (Nível 1):
Level 2 (Nível 2): entryData.loadEventStart |
loadEventTime |
Número |
A diferença entre |
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 |
Level 1 (Nível 1): entryData.loadEventEnd - entryData.navigationStart Level 2 (Nível 2): entryData.duration |
headerSize |
Número |
Devolve a diferença entre 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 Esse atributo não é obrigatório. |
Level 1 (Nível 1): não disponível Level 2 (Nível 2):
|
navigationTimingLevel |
Número |
A versão da API de tempo de navegação. |
Value: (Valor) 1 ou 2 |
Esquema de eventos de recurso
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 typedefstartTime
. 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 |
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 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)
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.
Nome | Descrição |
---|---|
Valor |
Para obter mais informações, consulte Web Vitals |
Evento de first input delay (atraso da primeira entrada)
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.
Nome | Descrição |
---|---|
Valor |
Para obter mais informações, consulte Web Vitals |
Evento de cumulative layout shift (deslocamento cumulativo de layout)
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.
Nome | Descrição |
---|---|
Valor |
Para obter mais informações, consulte Web Vitals |
Evento HTTP
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.
Nome | Descrição |
---|---|
Solicitação |
O campo de solicitação inclui o seguinte:
|
Resposta |
O campo de resposta inclui o seguinte:
|
Erro |
O campo de erros inclui o seguinte:
|
Esquema de eventos de rastreamento do X-Ray
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.