🛟 Não hesite em entrar em contato conosco se encontrar
problemas ao atualizar o pacote AppSignal para Node.js da sua aplicação.
Estamos aqui para ajudar!
Instalando a 3.x
Para instalar o AppSignal para Node.js 3.x, execute o seguinte comando no diretório raiz da sua aplicação.npm
Cliente AppSignal
Ao atualizar da 2.x para a 3.x, você precisa mudar a forma como a sua aplicação inicializa e acessa o cliente AppSignal.Inicializar o cliente AppSignal
Para inicializar o cliente AppSignal e exportá-lo, você precisará criar um novo arquivoappsignal.cjs, como no exemplo abaixo:
--require ./appsignal.cjs) o arquivo appsignal.cjs ao iniciar sua aplicação. Por exemplo, no arquivo package.json da sua aplicação, como no exemplo abaixo:
Javascript
Acessar o cliente AppSignal
Na 3.x, o cliente AppSignal é acessado a partir do objeto exportado globalmenteAppsignal.client. Os exemplos abaixo mostram como fazer isso no contexto de um contador de métricas personalizadas.
2.x
3.x
Integrações
O AppSignal para Node.js 3.x suporta todas as integrações da 2.x prontas para uso. Isso significa que os pacotes de cada integração não precisam mais ser instalados. Ao migrar da 2.x para a 3.x, você precisará remover quaisquer pacotes de integração do AppSignal instalados em sua aplicação.Desinstalar integrações
Para aproveitar o suporte pronto para uso das integrações do AppSignal para Node.js 3.x, primeiro você precisará “desfazer” as instalações de integração que eram necessárias na versão 2.x.Remover código dependente do pacote AppSignal
Não esqueça de remover/desinstalar o pacote de integração do AppSignal.Remover integração do Apollo Server
Remova a inicialização 2.x do pacote e plugin Appsignal Apollo Server da sua aplicação, e substitua-a pelas instruções de instalação 3.x. Sua aplicação Apollo será instrumentada automaticamente.2.x
3.x
O Apollo Server é instrumentado automaticamente pelo pacote AppSignal para Node.js. Leia a documentação da integração GraphQL 3.x Depois de modificar o código da sua integração, você precisa remover o pacote AppSignal Apollo da sua aplicação.Remover integração do Express
Remova a inicialização 2.x do pacote e middleware AppSignal Express da sua aplicação, e substitua-a pelas instruções de instalação 3.x.2.x
3.x
Remover integração do Koa.js
Remova a inicialização 2.x do pacote e instrumentação Appsignal Koa da sua aplicação.2.x
3.x
O Koa.js é instrumentado automaticamente pelo pacote AppSignal para Node.js. Leia a documentação da integração Koa.js 3.x Depois de modificar o código da sua integração, você precisa remover o pacote Koa.js da sua aplicação.Remover integração do Next.js
O recurso “Web Vitals Reporting” foi descontinuado e não está mais disponível no AppSignal para Node.js 3.x.2.x
3.x
O Next.js é instrumentado automaticamente pelo pacote AppSignal para Node.js. Leia a documentação da integração Next.js 3.xRemover pacote de integração
Depois que os imports e o código dependente desses imports forem removidos, você precisa desinstalar o pacote de integração. Isso pode ser feito executandonpm uninstall, como no exemplo abaixo.
Bash
npm uninstall removerão as dependências de pacotes e atualizarão os arquivos package.json da sua aplicação e o package-lock.json do npm.
Substitua @appsignal/express no exemplo acima pelo nome do pacote de integração que você está removendo.
Nomes dos pacotes de integração do AppSignal
O objeto tracer
Não há mais um objeto tracer personalizado do AppSignal. O OpenTelemetry expõe um tracer provider que permite criar novos spans.2.x:
3.x:
Spans
Não há mais um objeto span personalizado do AppSignal. As funções do tracer do AppSignal, comorootSpan(), createSpan(), currentSpan() e withSpan(), não estão mais disponíveis.
Os spans devem ser criados chamando o método startActiveSpan em um objeto tracer. Novos spans são automaticamente filhos do span no qual foram criados.
2.x:
3.x:
Helpers de atributos de span
As funções auxiliares usadas para definir atributos de span também mudaram.setSQL foi substituído por setBody, set foi renomeado para setTag, e funções auxiliares adicionais foram adicionadas. setName foi removida, pois os spans devem receber um nome quando são criados.
2.x
3.x
Tratamento de exceções
Objetos tracer e span não são mais necessários ao usarsetError() e sendError().
2.x
3.x
EmsendError(), helpers podem ser usados para adicionar dados adicionais ao span de erro.