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.@appsignal/browser substitui @appsignal/javascript, suas integrações com frameworks e seus pacotes de plugins. Este guia mapeia a API antiga para a nova.
O novo SDK coleta breadcrumbs e web vitals depois de init() e relata erros nas visualizações Browser. Migre quando estiver pronto para adotar a API dele e revise as mudanças abaixo.
O que muda
Um pacote em vez de vários. Error tracking, breadcrumbs e web vitals estão todos em@appsignal/browser. O novo SDK não tem pacotes de plugins ou de frameworks correspondentes. Alguns recursos vêm embutidos; outros exigem código da aplicação.
Funções em vez de uma instância. Não há objeto de cliente para criar, passar adiante ou entregar a um componente. Você chama init() uma vez e importa as funções de que precisa onde precisar delas.
Erros não capturados são relatados sem pedir. @appsignal/plugin-window-events existia porque era preciso ativá-los explicitamente. Agora eles estão ligados por padrão. O SDK descarta erros opacos de scripts cross-origin. Use beforeError para filtrar outros ruídos de navegador ou extensão.
Os erros são relatados no namespace browser. @appsignal/javascript relatava em frontend, e não existe mais uma opção namespace. Novos erros aparecem na seção Browser. Os erros existentes em frontend permanecem na lista atual deles. Incidents existentes no namespace frontend permanecem onde estão.
Seus incidents existentes em frontend mantêm seus responsáveis, estados e severidades. O novo pacote relata no namespace browser. As novas issues dele começam sem responsável, como qualquer outra issue nova.
Sem spans, decorators ou overrides. O novo SDK não tem equivalente para a antiga API de span. Use setTags() para tags nos erros seguintes, e beforeError ou beforeBreadcrumb para remover dados sensíveis. O contexto opcional passado para captureError() não é incluído nos relatórios de erro comuns nesta beta.
Configuração
Antes:
Métodos
appsignal.wrap() executava seu código e relatava os erros lançados. A promise devolvida rejeitava com o mesmo erro, para que seu código pudesse capturá-lo. A substituição direta torna as duas metades explícitas:
Integrações com frameworks
O error boundary do React muda de forma:
action. Chame setRouteTemplate() para a rota usada para agrupar erros. Se você usa setTags(), chame-a depois de init() e limpe-a quando essas tags não devem mais valer.
Passos para migrar
- Instale
@appsignal/browser@betae remova@appsignal/javascriptjunto com todos os pacotes@appsignal/plugin-*e de integração com frameworks. - Substitua sua chamada
new Appsignal({ ... })porinit({ ... }), usando a tabela de configuração deste guia. Adicioneendpointeactive. - Substitua
sendErrorporcaptureError, ewrapportry/catch. - Mova padrões de
ignoreErrors, decorators e overrides parabeforeErrorebeforeBreadcrumb. - Chame
setRouteTemplate()em cada navegação do roteador. - Troque o import do error boundary do React, se você usa um.
- Configure as notificações para o namespace
browser. - Publique e depois confirme que erros e web vitals chegam na seção Browser da sua aplicação.
appVersion fornece.