instrumentation.js
Le fichier instrumentation.js|ts
est utilisé pour intégrer des outils d'observabilité dans votre application, vous permettant de suivre les performances et le comportement, ainsi que de déboguer les problèmes en production.
Pour l'utiliser, placez le fichier à la racine de votre application ou dans un dossier src
si vous en utilisez un.
Exports
register
(optionnel)
Le fichier exporte une fonction register
qui est appelée une fois lorsqu'une nouvelle instance du serveur Next.js est initialisée. register
peut être une fonction asynchrone.
onRequestError
(optionnel)
Vous pouvez optionnellement exporter une fonction onRequestError
pour suivre les erreurs serveur vers n'importe quel fournisseur d'observabilité personnalisé.
- Si vous exécutez des tâches asynchrones dans
onRequestError
, assurez-vous qu'elles sont attendues.onRequestError
sera déclenchée lorsque le serveur Next.js capturera l'erreur. - L'instance
error
pourrait ne pas être l'instance d'erreur originale levée, car elle peut être traitée par React si elle est rencontrée lors du rendu des Composants Serveur. Si cela se produit, vous pouvez utiliser la propriétédigest
sur une erreur pour identifier le type d'erreur réel.
Paramètres
La fonction accepte trois paramètres : error
, request
et context
.
error
: L'erreur capturée elle-même (le type est toujoursError
), et une propriétédigest
qui est l'ID unique de l'erreur.request
: Informations de requête en lecture seule associées à l'erreur.context
: Le contexte dans lequel l'erreur s'est produite. Cela peut être le type de routeur (App ou Pages Router), et/ou (Composants Serveur ('render'
), Gestionnaires de Route ('route'
), Actions Serveur ('action'
), ou Middleware ('middleware'
)).
Spécification du runtime
Le fichier instrumentation.js
fonctionne à la fois dans le runtime Node.js et Edge, cependant, vous pouvez utiliser process.env.NEXT_RUNTIME
pour cibler un runtime spécifique.
Historique des versions
Version | Changements |
---|---|
v15.0.0 | onRequestError introduit, instrumentation stabilisé |
v14.0.4 | Support de Turbopack pour instrumentation |
v13.2.0 | instrumentation introduit comme fonctionnalité expérimentale |