@appsignal/nodejs em combinação com o @appsignal/javascript e o @appsignal/react no lado do cliente para monitoramento de desempenho full-stack e rastreamento de erros.
Instalação
Primeiro, siga as instruções de instalação do@appsignal/nodejs.
Em seguida, modifique o arquivo de configuração next.config.js do seu projeto Next para habilitar os hooks de instrumentação:
Se você estiver usando o Next 15:
instrumentation.js:
appsignal.cjs que foi criado ao configurar o AppSignal. Certifique-se de que o arquivo appsignal.cjs esteja na mesma pasta que o arquivo instrumentation.js, ou ajuste o caminho do require no arquivo instrumentation.js conforme necessário.
Por fim, modifique seu arquivo de configuração appsignal.cjs para desativar a instrumentação HTTP, que de outra forma geraria traces redundantes:
Suporte a TypeScript
Ao usar TypeScript, os backtraces emitidos pelos erros do Next.js no lado do servidor referenciarão os arquivos JavaScript compilados. Siga estes passos para configurar o Next.js de forma que os backtraces façam referência ao código TypeScript original. Primeiro, configure o Next.js para emitir source maps adicionando as seguintes linhas ao arquivonext.config.js da sua aplicação:
package.json, modifique a forma como a sua aplicação Next.js é iniciada ao executar npm run start, usando a variável de ambiente NODE_OPTIONS para passar a flag --enable-source-maps para o runtime do Node.js:
@appsignal/javascript para rastrear erros do lado do cliente, adicione a opção productionBrowserSourceMaps ao arquivo next.config.js para que o Next.js emita source maps públicos:
Recursos
A integração com o Next.js enviará ao AppSignal uma amostra de desempenho para cada requisição. Dentro de cada amostra, a linha do tempo de eventos mostrará eventos, junto com sua duração, correspondendo a:- Renderização do documento
- Execução da função
getServerSideProps(apenas pages router) - Execução do route handler
- Execução de requisições HTTP usando o
fetchdo lado do servidor do Next.js (apenas app router)
Saída standalone
Nenhum dado pode ser relatado quando o Next.js está configurado comoutput: "standalone" no next.config.js. Quando o Next.js otimiza o tamanho da aplicação para incluir apenas o que é usado pela app, ele omite a extensão e o agente do AppSignal, que relatam os dados aos nossos servidores.
Ao usar o starter “with-docker” do Next.js, especificamente o Dockerfile, é necessária uma modificação para garantir que a extensão e o agente do AppSignal sejam incluídos na imagem Docker de produção.
Adicione a seguinte linha ao seu Dockerfile, depois das linhas COPY semelhantes próximas ao final do arquivo: