Pular para o conteúdo principal
Zenovay
Pro Plano15 minutesIntermediário

Rastreamento de Erros JavaScript

Capture e monitore automaticamente erros de JavaScript em todo o seu site com rastreamentos de pilha detalhados e contexto do usuário. Explore a configuração de rastreamento de erros e as melhores práticas.

errorsjavascriptdebuggingmonitoringtracking
Última atualização:

Capture automaticamente erros de JavaScript em todo o seu site com contexto detalhado para depuração mais rápida.

Painel de erros do Zenovay listando erros de JavaScript agrupados com contagens e status.
Os erros de JavaScript são agrupados aqui com contagens de ocorrências, usuários afetados e status de resolução.

Habilitando rastreamento de erros

O rastreamento de erros captura automaticamente erros de JavaScript não detectados e rejeições de promessas não tratadas assim que está ativado para um site. É parte do mesmo script de rastreamento que você já instalou:

<script
  defer
  data-tracking-code="YOUR_TRACKING_CODE"
  src="https://api.zenovay.com/z.js"
></script>

Ativação

O rastreamento de erros é controlado por uma flag de recurso em cada site:

  1. Abra o painel do seu site e vá para Configurações → Avançado
  2. Sob Sinalizadores de Recurso, ative Rastreamento de Erros

Pronto. Não há alterações de script a fazer, a flag é entregue ao rastreador automaticamente. Novos erros começam a aparecer na aba Erros.

Informação

O rastreamento de erros é um recurso Pro. Se o botão mostrar um crachá de plano obrigatório, você precisará estar no Pro, Scale ou Enterprise para habilitá-lo.

O que é capturado

Informações de erro

Para cada erro, o Zenovay captura:

DadosDescrição
Mensagem de erroA descrição do erro
Tipo de erroTypeError, ReferenceError, etc.
Rastreamento de pilhaPilha de chamadas completa
Arquivo de origemArquivo onde o erro ocorreu
Linha e colunaPosição exata
URLPágina onde o erro ocorreu
Agente do usuárioNavegador e sistema operacional
ID do visitanteLink para sessão
TimestampQuando o erro ocorreu

Dados contextuais

Contexto adicional capturado com cada erro:

  • URL da página e referente
  • Informações do navegador e dispositivo
  • Breadcrumbs: navegação recente, cliques, saída do console e solicitações de rede que levaram ao erro
  • A versão e o ambiente no qual o erro foi reportado (se seu código os definir)

Visualizando erros

Painel de erros

Abra o painel do seu site e selecione a aba Erros (sob Confiabilidade na barra lateral):

  1. Veja tendências de contagem de erros ao longo do tempo
  2. Visualize grupos de erros principais por ocorrência
  3. Filtre por status
  4. Clique em qualquer grupo de erros para obter detalhes

Lista de erros

A lista de erros mostra:

ColunaDescrição
ErroMensagem de erro (truncada)
ContagemNúmero de ocorrências
Primeiramente vistoQuando ocorreu primeiro
Visto pela última vezOcorrência mais recente
StatusNão resolvido, Investigando, Resolvido ou Ignorado

Visualização de detalhes do erro

Clique em um grupo de erros para ver:

  • Mensagem de erro completa
  • Rastreamento de pilha
  • Navegadores, sistemas operacionais e dispositivos afetados
  • Páginas onde o erro ocorre
  • Cronograma de ocorrências
  • Breadcrumbs levando ao erro

Você também pode alterar o status de um grupo (marcá-lo como Investigando, Resolvido ou Ignorado) para manter sua lista focada no que ainda precisa de atenção.

Tipos de erros

Tipos de erros comuns

TipoDescriçãoCausas comuns
TypeErrorErro relacionado ao tipoAcesso a propriedades indefinidas
ReferenceErrorReferência a indefinidoVariáveis indefinidas
SyntaxErrorSintaxe inválidaJSON malformado, erros de digitação
RangeErrorValor fora do intervaloComprimento de matriz inválido
URIErrorErro de tratamento de URIURIs malformados
EvalErrorErro eval()Obsoleto, raramente visto

Os erros também são classificados por categoria (JavaScript, rede, recurso ou personalizado) e gravidade, que o painel usa para ajudá-lo a priorizar.

Rejeições de promessa

// Rejeição não tratada - capturada automaticamente
Promise.reject(new Error('Something failed'));

// Rejeição tratada - não capturada
Promise.reject(new Error('Something failed'))
  .catch(error => handleError(error));

Mapas de origem

Código minificado produz rastreamentos de pilha ilegíveis:

Error: undefined is not a function
    at a.b (main.min.js:1:2345)
    at c.d (main.min.js:1:3456)

Com mapas de origem enviados, o painel pode mostrar seu código original:

Error: undefined is not a function
    at processPayment (checkout.js:45:12)
    at handleSubmit (form.js:123:8)

Os mapas de origem são carregados através da API de rastreamento de erros e correspondidos com erros por um identificador release. Integre o upload em seu pipeline de compilação para que cada versão seja entregue com seus mapas.

Para a referência completa de upload (endpoint, campos e exemplo de CI), ver Mapas de origem para erros JS.

Filtrando erros

Erros que se originam da própria infraestrutura de rastreamento do Zenovay são descartados automaticamente, portanto você só vê erros do seu próprio código.

Para reduzir o ruído restante, concentre-se no que é acionável no painel:

  • Use o status Ignorado para silenciar um erro conhecido de terceiros ou extensão de navegador para que ele pare de abarrotar sua lista.
  • Resolva grupos que você corrigiu para que novas ocorrências se destaquem.

Alertas de erro

Receba notificações quando os erros aumentem usando uma regra de automação:

  1. Abra o painel do seu site e vá para Configurações → Automação
  2. Crie uma regra com o gatilho Limite de taxa de erro
  3. Defina o limite (erros por hora)
  4. Escolha como deseja ser notificado: e-mail, webhook ou Slack

Quando a taxa de erro cruza seu limite, o Zenovay dispara a ação que você configurou.

Integração com repetição de sessão

Se a repetição de sessão estiver habilitada para o site, os erros podem ser vinculados a gravações para que você possa ver o que o usuário estava fazendo quando um erro ocorreu. A repetição de sessão tem um modo de gatilho Apenas erros (em Configurações → Avançado → Sinalizadores de recurso) que registra sessões especificamente em torno de erros, o que mantém o armazenamento focado nas sessões que vale a pena assistir.

Isso ajuda você a entender:

  • O que o usuário estava fazendo
  • Estado da interface do usuário quando o erro ocorreu
  • Passos para reproduzir

Melhores práticas

Tratamento deliberado de erros

Capture e trate erros de que você pode se recuperar, e deixe os que você não consegue se recuperar chegar ao rastreador:

// Bom: tratamento específico e recuperável
try {
  const data = JSON.parse(userInput);
} catch (error) {
  if (error instanceof SyntaxError) {
    showValidationError('Invalid JSON format');
  } else {
    throw error; // irrecuperável - deixar ser capturado
  }
}

Redução de ruído

  • Marcar erros de extensão de navegador e de terceiros conhecidos como Ignorados
  • Resolver grupos conforme você faz correções
  • Priorizar por gravidade e contagem de ocorrências

Solução de problemas

Erros não aparecendo

Verifique:

  • O script carrega antes de erros ocorrerem
  • O rastreamento de erros está habilitado em Configurações → Avançado → Sinalizadores de recurso
  • Um bloqueador de anúncios não está bloqueando solicitações para api.zenovay.com

Rastreamentos de pilha faltando

Verifique:

  • Mapas de origem são carregados para código minificado (ver Mapas de origem para erros JS)
  • Cabeçalhos CORS são definidos para scripts cross-origin
  • O erro não vem de um script de terceiros

Muitos erros

Considere:

  • Marcar grupos ruidosos conhecidos como Ignorados
  • Revisar e corrigir erros de alto volume primeiro

Próximas etapas

Este artigo foi útil?