Skip to main content
Browser monitoring é uma funcionalidade em beta do AppSignal Labs. O pacote @appsignal/browser é publicado sob a tag beta no npm, e sua configuração e API ainda podem mudar entre releases beta. Compartilhe seu feedback na nossa comunidade no Discord.
Use este guia para adicionar rastreamento de erros e Web Vitals do navegador à sua aplicação. Os exemplos em Plain JS e React também cobrem distributed tracing, filtragem de erros, mascaramento e tags. Você pode gerar o código da sua aplicação no Browser SDK install flow, ou seguir os exemplos abaixo. Se você ainda não adicionou sua aplicação ao AppSignal, siga primeiro o guia de instalação.

Encontrar sua Front-end API key

Encontre a Front-end API key em Front-end error monitoring, na página “Push & deploy” das configurações da sua aplicação. Use a chave da aplicação e do ambiente que você quer monitorar. Essa chave deve ser incluída no código do navegador. Ela é diferente das Push API keys usadas pelas integrações de back-end. O install flow já insere sua chave no código gerado. Nos exemplos abaixo, substitua <YOUR_FRONTEND_API_KEY> pela sua própria chave.

Gerar o snippet no AppSignal

O Browser SDK install flow permite escolher Plain JS ou React e selecionar quais recursos incluir. Ele começa com Route template selecionado. Os exemplos completos abaixo incluem todas as opções: O install flow gera código do Browser SDK. Selecionar Distributed tracing não instrumenta seu serviço de API. Para ver os spans dele junto com um erro de requisição do navegador, siga também a configuração do back-end. As duas versões também mostram como relatar um erro que você mesmo capturar. A versão em React inclui um error boundary para erros de renderização.

Instalar o pacote

Instale o AppSignal para Browser a partir da tag beta. Distributed tracing e o relato de requisições com falha exigem a versão 1.0.0-beta.7 ou posterior. O install flow atualmente mostra um comando sem versão; use um destes comandos para a versão beta:
Faça commit do seu lockfile e revise o snippet ao atualizar durante a beta.

Inicializar o SDK

Importe sua configuração do AppSignal antes do código da aplicação que você quer monitorar. Substitua process.env.NODE_ENV e process.env.APP_REVISION pelos valores equivalentes do seu sistema de build. Defina appVersion como sua tag de release ou SHA do commit, para o AppSignal associar os erros aos sourcemaps. Esses exemplos incluem todas as opções do install flow. Substitua api.example.com/** pelo host e caminho da sua API para o distributed tracing. Substitua os seletores CSS, as tags e o exemplo de roteador pelos valores da sua aplicação.
1. Inicialize o AppSignal em appsignal.js.
appsignal.js
Importe este arquivo primeiro no seu ponto de entrada:
main.js
2. Relate mudanças de rota a partir do seu roteador. Substitua router.on pelo hook de navegação do seu roteador. Relate também a rota inicial e, depois, relate o modelo dela a cada navegação.
router.js
3. Adicione tags após o login. Use valores do usuário ou da conta autenticada. Chame clearTags() no logout para limpar as tags armazenadas.
account.js
4. Relate erros que você mesmo capturar. Substitua save() pela sua própria operação.
save.js
Se você só precisa de rastreamento de erros, breadcrumbs e web vitals, pode começar com um arquivo appsignal.js menor. Substitua <YOUR_APP_REVISION> pela sua tag de release ou SHA do commit:
Importe appsignal.js primeiro no seu ponto de entrada, como mostrado acima. Essa configuração menor não adiciona cabeçalhos traceparent às suas requisições de API. Para qualquer configuração, active: false impede que o SDK colete ou envie dados. endpoint usa por padrão a origem da página atual. Defina-o como https://appsignal-endpoint.net, a menos que você faça proxy das requisições do AppSignal pelo seu próprio domínio. Veja todas as opções de configuração.

Instalação sem bundler

Se o seu site carrega JavaScript com tags <script> e não usa um bundler, use o build UMD. Ele expõe o SDK como AppsignalBrowser em window:
Substitua a versão na URL ao atualizar. Uma versão fixa evita uma mudança inesperada do SDK no seu site.

Reportar a rota atual

Use esta etapa para uma aplicação de página única com rotas como /users/42. Passe o modelo de rota, como /users/:id, quando seu roteador navegar. O AppSignal o usa para agrupar erros e web vitals por rota. Os exemplos completos acima mostram onde chamar setRouteTemplate(). Se você não definir um modelo de rota, o SDK relata o caminho atual da página. Isso significa que /users/42 e /users/43 podem aparecer como grupos de erro separados. Veja os exemplos de rota do React para React Router e Next.js.

Verificar a instalação

  1. Implante um build com active definido como true. Você pode usar active: true temporariamente em desenvolvimento.
  2. Abra a página e execute este código no console do navegador:
    JavaScript
    O timer permite que o erro chegue ao handler de erro global da página. Um erro lançado diretamente no console geralmente é tratado pelo próprio console.
  3. Abra Browser > Errors no AppSignal e encontre AppSignal test error.
As web vitals aparecem depois que o SDK as envia. Isso acontece, por exemplo, quando a página fica oculta ou a rota muda. Se nenhum dado aparecer, veja a solução de problemas do Browser.

Content Security Policy

Se o seu site usa uma Content Security Policy, permita o endpoint do AppSignal configurado na diretiva connect-src. Por exemplo, adicione o endpoint às suas origens já permitidas:

Assets hospedados em CDN

Use esta etapa se o JavaScript do seu site carrega de outra origem, como um CDN. Sem acesso cross-origin, o navegador pode relatar apenas Script error., sem stack trace e sem número de linha. O SDK descarta esses erros opacos porque não é possível rastreá-los até o seu código. Sirva o script com um cabeçalho Access-Control-Allow-Origin que permita a origem da sua página, e adicione crossorigin="anonymous" à tag de script:

Desinstalação

  1. Remova o import de appsignal.js e outras chamadas a @appsignal/browser do seu código. Remova qualquer ErrorBoundary importado de @appsignal/browser/react.
  2. Remova o pacote e atualize seu lockfile com npm uninstall @appsignal/browser, yarn remove @appsignal/browser ou pnpm remove @appsignal/browser. Se você instalou o build UMD, remova a tag <script> dele.
  3. Implante a mudança. O novo build para de relatar dados do navegador.
  4. Se essa aplicação do AppSignal era usada só para browser monitoring, você pode opcionalmente remover a aplicação.
Para parar a coleta sem desinstalar, chame destroy(). Isso envia os dados pendentes e para a coleta até init() rodar novamente, por exemplo após um reload da página.