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.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 tagbeta. 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:
Inicializar o SDK
Importe sua configuração do AppSignal antes do código da aplicação que você quer monitorar. Substituaprocess.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.
- Plain JS
- React
1. Inicialize o AppSignal em Importe este arquivo primeiro no seu ponto de entrada:2. Relate mudanças de rota a partir do seu roteador. Substitua 3. Adicione tags após o login. Use valores do usuário ou da conta autenticada. Chame 4. Relate erros que você mesmo capturar. Substitua
appsignal.js.appsignal.js
main.js
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
clearTags() no logout para limpar as tags armazenadas.account.js
save() pela sua própria operação.save.js
appsignal.js menor. Substitua <YOUR_APP_REVISION> pela sua tag de release ou SHA do commit:
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:
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
-
Implante um build com
activedefinido comotrue. Você pode usaractive: truetemporariamente em desenvolvimento. -
Abra a página e execute este código no console do navegador:
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.JavaScript
- Abra Browser > Errors no AppSignal e encontre AppSignal test error.
Content Security Policy
Se o seu site usa uma Content Security Policy, permita o endpoint do AppSignal configurado na diretivaconnect-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 apenasScript 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
- Remova o import de
appsignal.jse outras chamadas a@appsignal/browserdo seu código. Remova qualquerErrorBoundaryimportado de@appsignal/browser/react. - Remova o pacote e atualize seu lockfile com
npm uninstall @appsignal/browser,yarn remove @appsignal/browseroupnpm remove @appsignal/browser. Se você instalou o build UMD, remova a tag<script>dele. - Implante a mudança. O novo build para de relatar dados do navegador.
- Se essa aplicação do AppSignal era usada só para browser monitoring, você pode opcionalmente remover a aplicação.
destroy(). Isso envia os dados pendentes e para a coleta até init() rodar novamente, por exemplo após um reload da página.