O ARMS Browser Monitoring coleta métricas de desempenho, estabilidade e API de páginas da web e mini programas. Esta página define cada métrica, sua fórmula de cálculo e os campos disponíveis nos logs do Browser Monitoring.
A coleta das métricas de desempenho ocorre por meio da Navigation Timing API definida pelo W3C.
Apdex (satisfação do usuário)
O Application Performance Index (Apdex) é um padrão aberto que quantifica a satisfação do usuário com o tempo de resposta da aplicação. O Apdex classifica cada amostra em uma de três categorias com base em um limiar configurável T:
|
Categoria |
Tempo de resposta |
Significado |
|
Satisfeito |
0 a T |
A aplicação responde rápido o suficiente para tornar o atraso imperceptível. |
|
Tolerando |
T a 4T |
A resposta é visivelmente lenta, mas o usuário ainda consegue concluir a tarefa. |
|
Frustrado |
Maior que 4T |
A resposta é tão lenta que o usuário pode abandonar a tarefa. |
Fórmula:
Apdex = (Satisfied count + Tolerating count / 2) / Total sample count
No ARMS, o cálculo do Apdex usa como base o First Paint Time (FPT), com um limiar padrão de T = 2 segundos.
Estabilidade de JS
A estabilidade de JS mede a frequência com que erros de JavaScript afetam as visualizações de página (PVs).
Se ocorrer pelo menos um erro de JS durante um ciclo de PV, esse ciclo conta como uma amostra de erro.
Fórmula:
JS error rate = Error sample count / Total sample count
As amostras de erro incluem tanto erros de JS relatados automaticamente quanto erros reportados por meio da API de métodos do SDK.
Velocidade de acesso
A velocidade de acesso é medida pelo First Paint Time (FPT) — o tempo desde o início da requisição pelo navegador até o começo da análise do primeiro lote de HTML.
O diagrama a seguir mostra como cada métrica de tempo se mapeia ao processo de carregamento de página definido pela Navigation Timing API do W3C:
Métricas de desempenho de página da web
Estas métricas capturam a experiência geral de carregamento da página.
|
Campo relatado |
Tipo |
Descrição |
Fórmula |
Observações |
|
FMP |
number (ms) |
First Meaningful Paint. Momento em que o conteúdo principal se torna visível. |
N/A |
N/A |
|
FPT |
number (ms) |
First Paint Time. Tempo desde o início da requisição até a análise do primeiro lote de HTML pelo navegador. |
|
N/A |
|
TTI |
number (ms) |
Time to Interactive. Tempo desde o início da requisição até o navegador terminar de analisar o HTML, construir o DOM e começar a carregar recursos. |
|
N/A |
|
Ready |
number (ms) |
Tempo de prontidão do DOM. Tempo necessário para carregar e analisar completamente o HTML no DOM. |
|
Se houver execução de JS síncrono na página, seu tempo de execução = Ready - TTI. |
|
Load |
number (ms) |
Tempo total de carregamento da página. |
|
Load = FPT + DOM + (Ready - TTI) + Res. |
|
FirstByte |
number (ms) |
Tempo para receber o primeiro pacote de dados do servidor. |
|
N/A |
Detalhamento de tempo por fase
Estas métricas dividem o carregamento da página em fases individuais de rede e renderização para ajudar a identificar gargalos.
|
Campo relatado |
Tipo |
Descrição |
Fórmula |
Observações |
|
DNS |
number (ms) |
Tempo gasto na consulta DNS. |
|
N/A |
|
TCP |
number (ms) |
Tempo gasto no estabelecimento da conexão TCP. |
|
N/A |
|
TTFB |
number (ms) |
Time to First Byte (TTFB). Tempo que o servidor leva para responder após receber a requisição. |
|
Para detalhes sobre como o ARMS calcula o TTFB, consulte a definição de TTFB do Google. |
|
Trans |
number (ms) |
Tempo gasto na transferência do corpo da resposta. |
|
N/A |
|
DOM |
number (ms) |
Tempo gasto na análise do DOM. |
|
N/A |
|
Res |
number (ms) |
Tempo gasto no carregamento de recursos síncronos na página. |
|
N/A |
|
SSL |
number (ms) |
Tempo gasto no handshake TLS/SSL. |
|
Aplica-se apenas a conexões HTTPS. |
Métricas de desempenho de mini programa
|
Campo relatado |
Tipo |
Descrição |
Fórmula |
Observações |
|
FPT |
number (ms) |
First Paint Time. Tempo desde a chamada |
|
N/A |
Taxa de sucesso de chamadas de API
A taxa de sucesso de chamadas de API rastreia a frequência com que as requisições de API da sua página são concluídas com êxito.
Fórmula:
API call success rate = Successful API call count / Total API call count
As amostras incluem tanto requisições AJAX relatadas automaticamente quanto dados reportados por meio da API de métodos do SDK.
Campos de log
Os logs do ARMS Browser Monitoring contêm os seguintes campos. Utilize estes nomes de campo ao criar consultas no Simple Log Service ou configurar regras de alerta.
Campos comuns
Estes campos estão presentes em todos os tipos de log.
|
Campo |
Tipo |
Descrição |
|
uid |
string |
ID do usuário. Identificador pesquisável do usuário. Defina um valor personalizado, se necessário. Caso contrário, o SDK gera automaticamente um ID e o rotaciona a cada seis meses. |
|
username |
string |
Nome de usuário. O SDK não atribui automaticamente um nome de usuário. Se não definido, este campo fica vazio. |
|
release |
string |
ID da versão da aplicação. |
|
environment |
string |
Identificador do ambiente de produção. |
|
page |
string |
URL da página. |
|
sampling |
number |
Taxa de amostragem. |
|
tag |
string |
Tag personalizada para filtragem e agrupamento. |
Campos de chamada de API
|
Campo |
Tipo |
Descrição |
|
api |
string |
URL da requisição de API, sem parâmetros de consulta. |
|
msg |
string |
String de resposta retornada pela chamada de API. |
|
code |
number |
Código de status HTTP. |
|
time |
number (ms) |
Tempo consumido pela chamada de API. |
|
success |
boolean |
Indica se a chamada de API foi bem-sucedida. |
Campos de erro de JS
|
Campo |
Tipo |
Descrição |
|
msg |
string |
Mensagem de erro. |
|
stack |
string |
Rastreamento de pilha. |
|
cate |
string |
Tipo de erro. Valores válidos: |
|
file |
string |
Arquivo onde o erro ocorreu. |
|
line |
number |
Número da linha do erro. |
|
col |
number |
Número da coluna do erro. |
|
times |
number |
Número de ocorrências deste erro. |
Tipos de log
O ARMS Browser Monitoring gera os seguintes tipos de log. Todos os tipos compartilham os campos comuns listados acima.
|
Tipo de log |
Código do tipo |
Campos consultáveis |
|
Log de PV |
PV |
Enviado no evento |
|
Log de desempenho |
Perf |
Todas as métricas de desempenho (FPT, TTI, Ready, Load, DNS, TCP, TTFB e outras). |
|
Log de carregamento lento |
RES |
Mesmos campos do log de desempenho. Registrado quando o tempo de carregamento da página excede 8 segundos. |
|
Log de erro de JS |
Error |
Mensagem de erro, URL do arquivo de erro, tipo de erro. |
|
Log de API |
API |
Nome da API, mensagem de resposta, código de status HTTP, tempo de resposta, domínio, status de sucesso, Trace ID. |
|
Log SUM |
SUM |
Par chave-valor personalizado com um nome de evento (por exemplo, |
|
Log AVG |
AVG |
Par chave-valor personalizado com um nome de evento (por exemplo, |
|
Log de erro de recurso |
ResourceError |
Detalhes do erro de recurso. |
|
Log personalizado |
Custom |
Campos definidos pelo usuário para monitoramento de negócios personalizado. A geração de logs personalizados ocorre apenas mediante chamada à API do ARMS Agent para relatar dados. O console do ARMS não exibe dados de log personalizado. Consulte e analise logs personalizados no console do Simple Log Service. |