@appsignal/nodejs te gebruiken in combinatie met @appsignal/javascript en @appsignal/react aan de clientzijde, voor full-stack performance monitoring en foutopsporing.
Installatie
Volg eerst de@appsignal/nodejs-installatie-instructies.
Pas vervolgens het next.config.js-configuratiebestand van uw Next-project aan om instrumentatie-hooks in te schakelen:
Als u Next 15 gebruikt:
instrumentation.js:
appsignal.cjs-bestand dat is aangemaakt bij het configureren van AppSignal. Zorg ervoor dat het appsignal.cjs-bestand zich in dezelfde map bevindt als het instrumentation.js-bestand, of pas het pad van de require in het instrumentation.js-bestand dienovereenkomstig aan.
Pas tot slot uw appsignal.cjs-configuratiebestand aan om de HTTP-instrumentatie uit te schakelen, die anders overbodige traces zou genereren:
TypeScript-ondersteuning
Bij het gebruik van TypeScript verwijzen de backtraces die door server-side Next.js-fouten worden uitgezonden naar de gecompileerde JavaScript-bestanden. Volg deze stappen om Next.js zo te configureren dat de backtraces naar de originele TypeScript-code verwijzen. Configureer Next.js eerst om source maps uit te zenden door de volgende regels toe te voegen aan hetnext.config.js-bestand van uw applicatie:
package.json aan hoe uw Next.js-applicatie wordt gestart bij het uitvoeren van npm run start, door de NODE_OPTIONS-omgevingsvariabele te gebruiken om de --enable-source-maps-vlag aan de Node.js-runtime door te geven:
@appsignal/javascript gebruikt om fouten aan de clientzijde bij te houden, voeg dan de productionBrowserSourceMaps-optie toe aan het next.config.js-bestand zodat Next.js publieke source maps uitzendt:
Functionaliteiten
De Next.js-integratie stuurt AppSignal een performance sample voor elk verzoek. Binnen elke sample toont de event-tijdlijn events, samen met hun duur, overeenkomend met:- Het renderen van het document
- Het uitvoeren van de
getServerSideProps-functie (alleen pages router) - Het uitvoeren van de route-handler
- Het uitvoeren van HTTP-verzoeken met Next.js’ server-side
fetch(alleen app router)
Standalone-output
Er worden mogelijk geen gegevens gerapporteerd wanneer Next.js is geconfigureerd metoutput: "standalone" in next.config.js. Wanneer Next.js de app-grootte optimaliseert om alleen op te nemen wat door de app wordt gebruikt, worden de AppSignal-extensie en -agent weggelaten, die de gegevens naar onze servers rapporteren.
Bij gebruik van de Next.js “with-docker”-starter, specifiek de Dockerfile, is een wijziging nodig om ervoor te zorgen dat de AppSignal-extensie en -agent worden opgenomen in de productie-Docker-image.
Voeg de volgende regel toe aan uw Dockerfile, na vergelijkbare COPY-regels nabij het einde van het bestand: