@appsignal/nodejs en combinaison avec @appsignal/javascript et @appsignal/react côté client pour une surveillance complète des performances et un suivi des erreurs sur l’ensemble de la pile.
Installation
Tout d’abord, suivez les instructions d’installation de@appsignal/nodejs.
Ensuite, modifiez le fichier de configuration next.config.js de votre projet Next afin d’activer les hooks d’instrumentation :
Si vous utilisez Next 15 :
instrumentation.js :
appsignal.cjs qui a été créé lors de la configuration d’AppSignal. Assurez-vous que le fichier appsignal.cjs se trouve dans le même dossier que le fichier instrumentation.js, ou ajustez le chemin du require dans le fichier instrumentation.js en conséquence.
Enfin, modifiez votre fichier de configuration appsignal.cjs afin de désactiver l’instrumentation HTTP, qui générerait sinon des traces redondantes :
Prise en charge de TypeScript
Lorsque vous utilisez TypeScript, les backtraces émises par les erreurs Next.js côté serveur feront référence aux fichiers JavaScript compilés. Suivez ces étapes pour configurer Next.js de sorte que les backtraces se réfèrent au code TypeScript original. Tout d’abord, configurez Next.js pour émettre des source maps en ajoutant les lignes suivantes au fichiernext.config.js de votre application :
package.json, modifiez la façon dont votre application Next.js est démarrée lors de l’exécution de npm run start, en utilisant la variable d’environnement NODE_OPTIONS pour passer l’indicateur --enable-source-maps au runtime Node.js :
@appsignal/javascript pour suivre les erreurs côté client, ajoutez l’option productionBrowserSourceMaps au fichier next.config.js pour que Next.js émette des source maps publiques :
Fonctionnalités
L’intégration Next.js enverra à AppSignal un échantillon de performance pour chaque requête. Au sein de chaque échantillon, la chronologie des événements affichera des événements, avec leur durée, correspondant à :- Le rendu du document
- L’exécution de la fonction
getServerSideProps(pages router uniquement) - L’exécution du gestionnaire de route
- La réalisation de requêtes HTTP via le
fetchcôté serveur de Next.js (app router uniquement)
Sortie standalone
Aucune donnée ne peut être rapportée lorsque Next.js est configuré avecoutput: "standalone" dans next.config.js. Lorsque Next.js optimise la taille de son application pour n’inclure que ce qui est utilisé par l’application, il omet l’extension et l’agent AppSignal, qui rapportent les données à nos serveurs.
Lorsque vous utilisez le starter Next.js « with-docker », en particulier le Dockerfile, une modification est nécessaire pour s’assurer que l’extension et l’agent AppSignal sont inclus dans l’image Docker de production.
Ajoutez la ligne suivante à votre Dockerfile, après des lignes COPY similaires près de la fin du fichier :