O Real User Monitoring (RUM) coleta dados de sessões de usuários em tabelas de log estruturadas. Use esta referência para identificar nomes de campos, tipos de dados e descrições ao consultar, filtrar ou criar painéis.
Estrutura do log
Os logs do RUM dividem-se em duas categorias:
Tabelas de detalhes: armazenam eventos individuais, incluindo View, Resource, Exception, Action, Custom, Application e System.
Tabela de agregação: armazena resumos no nível da sessão, representada pela tabela Session.
O diagrama a seguir ilustra o relacionamento entre essas tabelas:
Session (aggregation)
+-- View (page/screen visit)
| |-- Resource (network request)
| |-- Exception (error)
| |-- Action (user interaction)
| +-- Custom (developer-defined event)
+-- Application (app lifecycle, native only)
+-- System (system event, native only)
Cada sessão contém uma ou mais visualizações. Cada visualização pode incluir múltiplos recursos, exceções, ações e eventos personalizados. Os eventos de Application e System ocorrem no nível da sessão e aplicam-se exclusivamente a aplicativos nativos.
|
Tipo de evento |
Tabela |
Descrição |
|
visualize |
View |
Visitas a páginas ou telas, com dados de tempo de desempenho (Web Vitals, navigation timing). |
|
resource |
Resource |
Requisições de rede: ativos estáticos (CSS, JS, imagens) e chamadas de API (XHR, fetch). |
|
exception |
Exception |
Erros de execução, falhas, ANRs, telas em branco e erros personalizados. |
|
action |
Action |
Interações do usuário, como cliques, toques e rolagens. |
|
custom |
Custom |
Eventos definidos pelo desenvolvedor e reportados por meio do SDK. |
|
application |
Application |
Eventos do ciclo de vida do aplicativo: inicialização a frio, inicialização a quente, saída, transições entre primeiro plano e segundo plano (apenas nativo). |
|
system |
System |
Eventos no nível do sistema, como alterações de rede (apenas nativo). |
|
session |
Session |
Resumo agregado da sessão com contagem de eventos e duração. |
As tabelas Application e System aplicam-se apenas ao monitoramento de aplicativos nativos (Android e iOS).
Categorias de campos
Cada campo nas tabelas abaixo pertence a uma das três categorias seguintes:
|
Categoria |
Tipo de dado |
Indexado |
Finalidade |
|
Atributo |
String |
Sim |
Agrupar, filtrar e agregar dados. Não quantificável. Conjunto limitado de valores possíveis. |
|
Medida |
Número |
Sim |
Métrica quantificável usada em cálculos e visualizações. |
|
Metadado |
Variável |
Não |
Dados suplementares que descrevem outros campos. Não indexado por padrão. |
Campos comuns
Os campos comuns estão presentes em todas as tabelas de detalhes e de agregação. Os atributos comuns devem ser indexados, pois são essenciais para filtrar e agregar dados. Dentro de uma mesma sessão, esses valores geralmente permanecem consistentes. Um valor pode mudar durante a sessão se, por exemplo, o usuário trocar de conta, atualizando o id do usuário.
Atributos comuns
|
Atributo |
Tipo |
Nome do campo |
Descrição |
|
timestamp |
long |
Hora da ocorrência |
Hora de início do evento. Assume a hora do sistema se não estiver disponível. |
|
event_type |
string |
Tipo de evento |
Categoria do evento: |
|
event_id |
string |
id do evento |
Identificador único do evento. Aplica-se a eventos de resource, exception, longtask, action e custom. Não gerado para eventos de view ou session. |
|
app.id |
string |
id do aplicativo |
id exclusivo do aplicativo, gerado ao crie um aplicativo RUM. |
|
app.version |
string |
Versão do aplicativo |
Número da versão do aplicativo definido pelo usuário. |
|
app.channel |
string |
Canal do aplicativo |
Canal de distribuição do aplicativo. |
|
app.env |
string |
Contexto do ambiente |
Rótulo do ambiente. Valores válidos: |
|
app.type |
string |
Tipo de aplicativo |
Tipo de aplicativo, especificado tanto pelo lado do relatório quanto pelo fluxo de dados. Valores válidos: |
|
app.package |
string |
Nome do pacote do aplicativo |
Identificador do pacote do aplicativo. O valor depende da plataforma: Android = |
|
user.id |
string |
id do usuário |
Identificador do visitante, gerado automaticamente pelo SDK. Não modificável. |
|
user.name |
string |
Nome de usuário |
Identificador de usuário de negócios. Requer configuração personalizada. |
|
user.tags |
string |
Tag de usuário |
Tag de usuário para segmentação personalizada. |
|
device.id |
string |
id do dispositivo |
Identificador do dispositivo. |
|
device.type |
string |
Tipo de dispositivo |
Tipo de dispositivo reportado pelo próprio dispositivo, como |
|
device.brand |
string |
Marca do dispositivo |
Marca do dispositivo, como |
|
device.model |
string |
Modelo do dispositivo |
Modelo do dispositivo reportado pelo próprio dispositivo. |
|
device.name |
string |
Nome do dispositivo |
Nome do dispositivo reportado pelo próprio dispositivo. |
|
os.type |
string |
Sistema operacional |
Nome do sistema operacional. |
|
os.version |
string |
Versão do sistema operacional |
Versão do sistema operacional. |
|
os.container |
string |
Tipo de contêiner |
Ambiente do contêiner, como |
|
os.container_version |
string |
Versão do contêiner |
Versão do contêiner, por exemplo, a versão do Chrome. |
|
geo.country |
string |
País |
Nome do país. |
|
geo.country_id |
string |
ISO do país |
Código ISO do país. |
|
geo.province |
string |
Estado/Região |
Nome do estado ou região. |
|
geo.province_id |
string |
Código da região |
Código do estado ou região. |
|
geo.city |
string |
Cidade |
Nome da cidade. |
|
geo.city_id |
string |
Código da cidade |
Código da cidade. |
|
isp.id |
string |
id da operadora |
id da operadora. |
|
isp.name |
string |
Nome da operadora |
Nome da operadora. |
|
net.model |
string |
Tipo de conexão |
Tipo de conexão de rede: |
|
net.name |
string |
Nome da rede |
Nome da rede Ethernet. |
Atributos personalizados
Todos os tipos de relatório permitem adicionar pares chave-valor personalizados. As regras são as seguintes:
A chave deve começar com uma letra e conter apenas números e sublinhados (_).
Limite de 50 pares chave-valor personalizados.
A chave pode ter no máximo 20 caracteres (
/^[a-z][a-z0-9_]{1,20}$/i) e o valor, até 5.000 caracteres.Por padrão, os pares chave-valor são apenas armazenados nos logs, sem indexação.
Configure os campos para indexação no console. Limite de 20 campos indexados.
|
Atributo |
Tipo |
Descrição |
|
|
{{event_type}}.{{custom_key}} |
string |
long |
Campo personalizado. |
{ "app.group": "group1", "user.age": 18, "custom.event_name": "Add to shopping cart", }
Medidas comuns
|
Métrica |
Tipo |
Descrição |
|
times |
int |
Número de ocorrências do evento. Padrão: |
Metadados comuns
|
Campo |
Tipo |
Descrição |
|
os.user_agent |
string |
Cabeçalho de requisição User-Agent. |
|
net.ip |
string |
Endereço ip do cliente. |
|
device.sr |
string |
Resolução da tela. |
|
os.container_vp |
string |
Resolução da viewport (tamanho da página). |
Tabelas de detalhes
Tabela View
Uma View representa a visita a uma página ou tela. Cada visita gera um evento de page view (PV) que serve como âncora para todos os eventos relacionados e métricas de tempo.
Os eventos de View dividem-se em três tipos de relatório:
PV: Contagem de visualizações de página. Um PV é reportado por acesso à visualização. Fornece os dados básicos para associar vários eventos e calcular métricas de tempo.
Web Vitals: Três métricas principais de desempenho do Google (LCP, FID, CLS). Coletadas separadamente porque o tempo de medição varia.
Perf: Métricas de navigation timing baseadas na Performance API. Foca no desempenho objetivo de carregamento da página.
Web Vitals e Perf são opcionais e podem não se aplicar a visualizações nativas. O tempo de permanência na página é um dado comportamental e pertence à tabela Action, não à tabela View.
Atributos
|
Atributo |
Tipo |
Nome do campo |
Descrição |
|
session.id |
string |
id da sessão |
id da sessão associada. |
|
view.id |
string |
id da visualização |
id gerado aleatoriamente para esta visualização de página. |
|
view.name |
string |
Nome da visualização |
Alias da visualização. O padrão é o caminho da url. Substituído por regras de correspondência ou configuração personalizada. |
|
view.loading_type |
string |
Tipo de carregamento da visualização |
Como a visualização foi carregada: |
|
view.type |
string |
Tipo de evento de visualização |
Tipo de evento de visualização: |
|
view.view_type |
string |
Tipo de renderização da visualização |
Tipo de renderização da visualização. |
Medidas de tempo
As métricas a seguir capturam o desempenho de carregamento da página. Os Web Vitals (LCP, FID, CLS) medem o desempenho percebido pelo usuário. As métricas de navigation timing (de FCP até load_event) medem as etapas objetivas de carregamento da página com base na Performance API.
|
Métrica |
Tipo |
Nome do campo |
Descrição |
|
view.time_spent |
long (ms) |
Página |
Tempo gasto na visualização atual. |
|
view.largest_contentful_paint |
long (ms) |
Largest Contentful Paint |
Largest Contentful Paint (LCP) -- tempo para renderizar o maior elemento DOM visível. |
|
view.first_input_delay |
long (ms) |
First Input Delay |
First Input Delay (FID) -- atraso entre a primeira interação do usuário e a resposta do navegador. |
|
view.cumulative_layout_shift |
long (sem unidade) |
Cumulative Layout Shift |
Cumulative Layout Shift (CLS) -- quantifica mudanças inesperadas de layout causadas por conteúdo carregado dinamicamente. |
|
view.loading_time |
long (ms) |
Tempo de carregamento da página |
Momento em que a página está pronta, sem requisições de rede ou mutações de DOM em andamento. |
|
view.first_contentful_paint |
long (ms) |
First Contentful Paint (tempo de tela branca) |
First Contentful Paint (FCP) -- tempo para renderizar o primeiro texto, imagem, canvas não branco ou SVG. |
|
view.dom_interactive |
long (ms) |
Time to Interactive |
Time to Interactive -- tempo até o DOM tornar-se interativo. |
|
view.dom_content_loaded |
long (ms) |
Tempo de carregamento completo do HTML (tempo DOM Ready) |
DOM Ready -- dispara quando o HTML inicial é totalmente analisado, sem esperar por folhas de estilo, imagens ou subframes. |
|
view.dom_complete |
long (ms) |
DOM |
DOM Complete -- a página e todos os sub-recursos estão prontos. O indicador de carregamento parou. |
|
view.load_event |
long (ms) |
Tempo de carregamento total da página |
Tempo de carregamento total da página -- dispara quando a página é totalmente carregada. Frequentemente aciona lógica adicional do aplicativo. |
Limiares dos Web Vitals
A tabela a seguir lista os limiares de desempenho para Web Vitals e tempo de carregamento da página. Use esses valores para identificar problemas de desempenho.
|
Métrica |
Bom |
Precisa melhorar |
Ruim |
|
LCP ( |
< 2.500 ms |
2.500--4.000 ms |
> 4.000 ms |
|
FID ( |
< 100 ms |
100--300 ms |
> 300 ms |
|
CLS ( |
< 0,1 |
0,1--0,25 |
> 0,25 |
|
Carregamento da página ( |
< 2.000 ms |
2.000--4.000 ms |
> 5.000 ms |
Um tempo de carregamento de página superior a 5 segundos afeta a classificação do site nos mecanismos de busca e prejudica severamente a experiência do usuário.
Metadados
|
Campo |
Tipo |
Descrição |
|
view.referrer |
string |
url da página anterior (HTTP Referer). |
|
view.url |
string |
url completa da visualização, incluindo esquema, host, caminho, consulta e hash. |
|
view.timing_data |
string |
String JSON de dados |
|
view.snapshots |
string |
String JSON de snapshots da visualização. Usado principalmente para aplicativos nativos. |
Tabela Resource
Um evento Resource resume uma requisição de rede HTTP. O RUM normaliza as diferenças na Performance API entre plataformas para tornar os dados de recursos comparáveis.
Os recursos dividem-se em duas categorias:
Recursos estáticos (
resource.type:css,javascript,image,media, etc.) -- focam no tipo de recurso, desempenho da CDN e estabilidade da rede. Quandoresource.typeénavigation, o recurso associa-se à View pai por meio de umview.idcompartilhado.Requisições de API (
resource.type:XHR,fetchouAPI) -- focam em interações do lado do servidor, códigos de resposta e rastreamento distribuído.
Os tipos XHR e fetch são usados principalmente em navegadores e WebViews. Em ambientes nativos e de miniaplicativos, o tipo padrão é API.
Reporte eventos Resource apenas para requisições de rede reais. Filtre recursos em cache. Se os dados em cache forem valiosos (por exemplo, para calcular taxas de acerto de cache), defina resource.type como cached para distingui-los das requisições de rede.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id da sessão associada. |
|
view.id |
string |
id da visualização associada. |
|
view.name |
string |
Nome da visualização associada. |
|
resource.type |
string |
Tipo de recurso: |
|
resource.method |
string |
Método HTTP, como |
|
resource.status_code |
string |
Código de status da resposta HTTP. |
|
resource.message |
string |
Conteúdo da resposta ou mensagem de erro (corresponde a |
|
resource.url |
string |
url completa do recurso. |
|
resource.name |
string |
Nome do recurso. O padrão é o caminho da url. Substituído por regras de correspondência ou configuração personalizada. |
|
resource.provider_type |
string |
Categoria do provedor do recurso: |
|
resource.trace_id |
string |
id de rastreamento distribuído associado à requisição. |
Medidas
|
Métrica |
Tipo |
Descrição |
Fórmula |
|
resource.success |
number |
Status do carregamento. |
-- |
|
resource.duration |
long (ms) |
Tempo total de carregamento. |
|
|
resource.size |
long (bytes) |
Tamanho do corpo decodificado ( |
-- |
|
resource.connect_duration |
long (ms) |
Tempo de conexão TCP. |
|
|
resource.ssl_duration |
long (ms) |
Tempo de handshake TLS. Aplica-se apenas a requisições HTTPS. Se |
|
|
resource.dns_duration |
long (ms) |
Tempo de pesquisa DNS. |
|
|
resource.redirect_duration |
long (ms) |
Tempo de redirecionamento HTTP. |
|
|
resource.first_byte_duration |
long (ms) |
Tempo até o primeiro byte (TTFB). |
|
|
resource.download_duration |
long (ms) |
Tempo de baixe da resposta. |
|
Metadados
|
Campo |
Tipo |
Descrição |
|
resource.timing_data |
string |
String JSON de dados |
|
resource.trace_data |
string |
Snapshot de rastreamento distribuído. JSON com campos |
|
resource.snapshots |
string |
Dados de snapshot do recurso. Usado principalmente para aplicativos nativos. Exemplo: |
|
resource.node_name |
string |
Tipo de elemento DOM que iniciou a requisição. |
|
resource.xpath |
string |
Localização XPath do elemento iniciador (por exemplo, |
|
resource.provider_name |
string |
Nome do provedor do recurso. Padrão: |
|
resource.provider_domain |
string |
Nome de domínio do provedor do recurso. |
Tabela Exception
Um evento Exception representa um erro inesperado durante a execução do código. As exceções classificam-se nos seguintes tipos:
|
Tipo |
Descrição |
|
Crash |
O aplicativo encerra inesperadamente. |
|
ANR |
Application Not Responding. A thread de UI (thread principal) falha ao processar uma mensagem Key Dispatch, Broadcast ou Service dentro do tempo necessário. Classificado como Exception, não como LongTask. |
|
Exception |
Outras condições anormais que não causam crash ou ANR. |
|
Custom |
Um erro reportado ativamente pelo desenvolvedor por meio do SDK. |
|
Error |
Usado principalmente para registrar erros relacionados a JavaScript. |
|
Blank |
Detecção de tela branca, principalmente para ambientes de navegador. |
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id da sessão associada. |
|
view.id |
string |
id da visualização associada. |
|
view.name |
string |
Nome da visualização associada. |
|
exception.source |
string |
Origem do erro, como |
|
exception.file |
string |
Arquivo onde o erro ocorreu. |
|
exception.type |
string |
Categoria do erro: |
|
exception.subtype |
string |
Subcategoria do tipo de erro. |
|
exception.name |
string |
Nome do erro. |
|
exception.message |
string |
Mensagem de erro legível por humanos. |
Metadados
|
Campo |
Tipo |
Descrição |
|
exception.stack |
string |
Stack trace ou informação suplementar sobre o erro. |
|
exception.caused_by |
string |
Causa raiz da exceção. |
|
exception.line |
long |
Número da linha onde o erro ocorreu. |
|
exception.column |
long |
Número da coluna onde o erro ocorreu. |
|
exception.thread_id |
string |
id da thread. |
|
exception.binary_images |
string |
Informações de imagem binária para a origem do erro. |
|
exception.snapshots |
string |
Dados de snapshot do erro. |
Tabela LongTask
Um timeout na thread principal (ou thread de UI) do aplicativo degrada a experiência do usuário.
Uma LongTask ocorre quando a thread principal (ou thread de UI) do aplicativo atinge um timeout durante a execução, afetando negativamente a experiência do usuário. Diferente de uma Exception, uma LongTask não envolve uma situação inesperada durante a execução do código. As possíveis causas incluem código ineficiente que requer otimização ou problemas de desempenho do dispositivo. A definição varia conforme a plataforma:
Android: Se a thread principal não responder por 2 segundos, registra-se um evento de travamento.
iOS: Se a thread principal falhar em responder por 2 segundos três vezes consecutivas, registra-se um evento de travamento.
Navegador e WebView: Se a taxa de quadros cair abaixo de 20 quadros por segundo (FPS) (cada quadro levar mais de 50 ms) por três vezes consecutivas, registra-se um evento de travamento.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
Sessão associada. |
|
view.id |
string |
View associada. |
|
view.name |
string |
view.name associado. |
|
longtask.source |
string |
Origem do travamento. |
|
longtask.type |
string |
Tipo do travamento. |
|
longtask.message |
string |
Mensagem concisa e legível que explica o evento. |
Medida
|
Métrica |
Tipo |
Descrição |
|
longtask.duration |
long (ms) |
Duração do travamento. |
Metadados
|
Atributo |
Tipo |
Descrição |
|
longtask.stack |
string |
Stack trace ou informação suplementar sobre o erro. |
|
longtask.caused_by |
string |
Causa do travamento. |
|
longtask.binary_images |
string |
Origem do erro. |
|
longtask.snapshots |
string |
Snapshot do travamento. |
Tabela Action
Um evento Action registra uma interação do usuário, como um clique, toque ou rolagem.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id da sessão associada. |
|
view.id |
string |
id da visualização associada. |
|
view.name |
string |
Nome da visualização associada. |
|
action.type |
string |
Tipo de interação. |
|
action.name |
string |
Nome semântico da ação, por exemplo, |
|
action.target_name |
string |
Nome do elemento alvo. Preenchido apenas para ações coletadas automaticamente. |
Medidas
|
Métrica |
Tipo |
Descrição |
|
action.duration |
long (ms) |
Duração da interação. |
Metadados
|
Campo |
Tipo |
Descrição |
|
action.snapshots |
string |
Dados de snapshot da interação. |
|
action.method_info |
string |
Nome do método de callback, por exemplo, |
Tabela Custom
Um evento Custom é definido pelo desenvolvedor e reportado por meio do SDK.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id da sessão associada. |
|
view.id |
string |
id da visualização associada. |
|
view.name |
string |
Nome da visualização associada. |
|
custom.type |
string |
Tipo de evento personalizado. |
|
custom.name |
string |
Nome do evento personalizado. |
|
custom.group |
string |
Grupo do evento personalizado. |
Medidas
|
Métrica |
Tipo |
Descrição |
|
custom.value |
number |
Valor numérico associado ao evento personalizado. |
Metadados
|
Campo |
Tipo |
Descrição |
|
custom.snapshots |
string |
Dados de snapshot do evento personalizado. Comprimento máximo recomendado: 5.000 caracteres. |
Tabela Application
A tabela Application registra eventos do ciclo de vida do aplicativo, como inicializações a frio, inicializações a quente, saídas e transições entre segundo plano e primeiro plano. Esta tabela aplica-se apenas a aplicativos nativos.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id da sessão associada. |
|
application.type |
string |
Tipo de evento de ciclo de vida: |
|
application.name |
string |
Rótulo granular do evento: |
Medidas
|
Métrica |
Tipo |
Descrição |
|
application.duration |
long (ms) |
Duração do evento de ciclo de vida. |
Metadados
|
Campo |
Tipo |
Descrição |
|
application.snapshots |
string |
Snapshot do evento de inicialização, tipicamente dados de chamada de método de thread. |
Tabela System
A tabela System registra eventos no nível do sistema, como alterações de rede. Esta tabela aplica-se apenas a aplicativos nativos.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id da sessão associada. |
|
system.type |
string |
Tipo de evento de sistema. |
|
system.name |
string |
Nome semântico do evento, por exemplo, |
Metadados
|
Campo |
Tipo |
Descrição |
|
system.snapshots |
string |
Snapshot do evento de sistema. Para eventos de alteração de rede, inclui endereços ip e tipos de rede antes e depois. Exemplo: |
Tabela de agregação
Tabela Session
Uma Session representa um período contínuo de atividade do usuário. O SDK gera um session.id exclusivo para cada sessão.
Atributos
|
Atributo |
Tipo |
Descrição |
|
session.id |
string |
id de sessão gerado aleatoriamente. |
|
session.ip |
string |
Endereço ip do cliente. |
|
session.referrer |
string |
url da página de referência. |
|
session.initial_view_id |
string |
id da primeira visualização na sessão. |
|
session.initial_view_name |
string |
Nome da primeira visualização na sessão. |
|
session.last_view_id |
string |
id da última visualização na sessão. |
|
session.last_view_name |
string |
Nome da última visualização na sessão. |
|
session.start |
long |
Timestamp de início da sessão. |
|
session.end |
long |
Timestamp de término da sessão. |
Medidas
|
Métrica |
Tipo |
Nome |
Descrição |
|
session.time_spent |
long (ms) |
Duração da sessão |
Duração total da sessão. |
|
session.view_count |
long |
Contagem de visualizações |
Total de visualizações de página na sessão. |
|
session.exception_count |
long |
Contagem de exceções |
Total de exceções na sessão. |
|
session.resource_count |
long |
Contagem de requisições de recurso |
Total de requisições de recurso na sessão. |
|
session.resource_error_count |
long |
Contagem de erros de recurso |
Total de requisições de recurso com falha na sessão. |
|
session.api_count |
long |
Contagem de requisições de API |
Total de requisições de API na sessão. |
|
session.api_error_count |
long |
Contagem de erros de API |
Total de requisições de API com falha na sessão. |
|
session.action_count |
long |
Contagem de eventos de usuário |
Total de interações do usuário na sessão. |
|
session.long_task_count |
long |
Contagem de travamentos |
Total de long tasks (eventos de travamento) na sessão. |
Metadados
|
Campo |
Tipo |
Descrição |
|
session.initial_view.url |
string |
url da primeira visualização na sessão. |
|
session.last_view_url |
string |
url da última visualização na sessão. |