Passer au contenu principal
🛟 N’hésitez pas à nous contacter si vous rencontrez des problèmes lors de la mise à niveau du package AppSignal pour Node.js de votre application. Nous sommes là pour vous aider !
Cette documentation liste les changements entre les versions 2.x et 3.x du package Node.js d’AppSignal. Si vous effectuez une mise à niveau de 2.x vers 3.x, vous devrez modifier votre intégration pour qu’elle fonctionne correctement. Si vous rencontrez des problèmes lors de la mise à niveau de votre application, n’hésitez pas à nous contacter pour obtenir de l’aide.

Installation de la 3.x

Pour installer AppSignal pour Node.js 3.x, exécutez la commande suivante dans le répertoire racine de votre application.

npm

Client AppSignal

Lors de la mise à niveau de 2.x vers 3.x, vous devez modifier la manière dont votre application initialise et accède au client AppSignal.

Initialiser le client AppSignal

Pour initialiser le client AppSignal et l’exporter, vous devrez créer un nouveau fichier appsignal.cjs, comme dans l’exemple ci-dessous :
Vous devrez requérir (--require ./appsignal.cjs) votre fichier appsignal.cjs au démarrage de votre application. Par exemple, dans le fichier package.json de votre application, comme dans l’exemple ci-dessous :

Javascript

Accéder au client AppSignal

Dans la version 3.x, le client AppSignal est accessible depuis l’objet Appsignal.client exporté globalement. Les exemples ci-dessous montrent comment procéder dans le contexte d’un compteur de métriques personnalisé.

2.x

3.x

Intégrations

Express et Next.js nécessitent un gestionnaire d’erreurs.
AppSignal pour Node.js 3.x prend en charge toutes les intégrations 2.x de manière native. Cela signifie que les packages pour chaque intégration n’ont plus besoin d’être installés. Lors du passage de la version 2.x à la 3.x, vous devrez supprimer tous les packages d’intégration AppSignal installés pour votre application.

Désinstaller les intégrations

Les intégrations 2.x ne sont pas compatibles avec l’intégration Node.js 3.x. Vous devez suivre les étapes de migration décrites ci-dessous pour utiliser les intégrations Node.js.
Pour profiter de la prise en charge native des intégrations d’AppSignal pour Node.js 3.x, vous devrez d’abord « annuler » les installations d’intégration qui étaient nécessaires dans la version 2.x.

Supprimer le code dépendant du package AppSignal

Les exemples ci-dessous sont illustratifs et basés sur la documentation des intégrations 2.x et 3.x d’AppSignal. Le code de votre application peut différer des exemples de cette documentation.
N’oubliez pas de supprimer/désinstaller le package d’intégration AppSignal.

Supprimer l’intégration Apollo Server

Le package @appsignal/apollo-server 2.x n’est pas compatible avec l’intégration Node.js 3.x. Vous devez suivre les étapes de migration décrites ci-dessous si vous souhaitez utiliser Apollo Server avec notre intégration 3.x.
Supprimez l’initialisation 2.x du package et du plugin Appsignal Apollo Server de votre application, et remplacez-la par les instructions d’installation 3.x. Votre application Apollo sera instrumentée automatiquement.

2.x

3.x

Apollo Server est instrumenté automatiquement par le package AppSignal pour Node.js. Lire la documentation de l’intégration GraphQL 3.x Une fois que vous avez modifié votre code d’intégration, vous devez supprimer le package AppSignal pour Apollo de votre application.

Supprimer l’intégration Express

Le package @appsignal/express 2.x n’est pas compatible avec l’intégration Node.js 3.x. Vous devez suivre les étapes de migration décrites ci-dessous si vous souhaitez utiliser express avec notre intégration 3.x.
Supprimez l’initialisation 2.x du package et du middleware AppSignal Express de votre application, et remplacez-la par les instructions d’installation 3.x.

2.x

3.x

Lire la documentation de l’intégration Express 3.x Une fois que vous avez modifié votre code d’intégration, vous devez supprimer le package AppSignal Express de votre application.

Supprimer l’intégration Koa.js

Le package @appsignal/koa 2.x n’est pas compatible avec l’intégration Node.js 3.x. Vous devez suivre les étapes de migration décrites ci-dessous si vous souhaitez utiliser Koa.js avec notre intégration 3.x.
Supprimez l’initialisation 2.x du package et de l’instrumentation AppSignal Koa de votre application.

2.x

3.x

Koa.js est instrumenté automatiquement par le package AppSignal pour Node.js. Lire la documentation de l’intégration Koa.js 3.x Une fois que vous avez modifié votre code d’intégration, vous devez supprimer le package Koa.js de votre application.

Supprimer l’intégration Next.js

Le package @appsignal/nextjs 2.x n’est pas compatible avec l’intégration Node.js 3.x. Vous devez suivre les étapes de migration décrites ci-dessous si vous souhaitez utiliser Next.js avec notre intégration 3.x.
La fonctionnalité « Web Vitals Reporting » a été dépréciée et n’est plus disponible dans AppSignal pour Node.js 3.x.

2.x

3.x

Next.js est instrumenté automatiquement par le package AppSignal pour Node.js. Lire la documentation de l’intégration Next.js 3.x

Supprimer le package d’intégration

Une fois les imports et le code dépendant de ces imports supprimés, vous devez désinstaller le package d’intégration. Cela peut être fait en exécutant npm uninstall, comme dans l’exemple ci-dessous.
Bash
Les commandes npm uninstall supprimeront les dépendances de package et mettront à jour les fichiers package.json de votre application et package-lock.json de npm. Remplacez @appsignal/express dans l’exemple ci-dessus par le nom du package d’intégration que vous supprimez.

Noms des packages d’intégration AppSignal

L’objet Tracer

Il n’y a plus d’objet tracer AppSignal personnalisé. OpenTelemetry expose un fournisseur de tracer qui vous permet de créer de nouveaux spans.

2.x :

3.x :

En savoir plus sur les tracers dans la documentation d’instrumentation 3.x.

Spans

Il n’y a plus d’objet span AppSignal personnalisé. Les fonctions de tracer d’AppSignal, telles que rootSpan(), createSpan(), currentSpan() et withSpan(), ne sont plus disponibles. Les spans doivent être créés en appelant la méthode startActiveSpan sur un objet tracer. Les nouveaux spans sont automatiquement les enfants du span dans lequel ils ont été créés.

2.x :

3.x :

En savoir plus sur les spans dans la documentation d’instrumentation 3.x.

Fonctions d’aide pour les attributs de span

Les fonctions d’aide utilisées pour définir les attributs de span ont également changé. setSQL a été remplacé par setBody, set a été renommé setTag, et des fonctions d’aide supplémentaires ont été ajoutées. setName a été supprimé, car les spans doivent recevoir un nom au moment de leur création.

2.x

3.x

En savoir plus sur les fonctions d’aide pour les attributs de span dans la documentation d’instrumentation 3.x.

Gestion des exceptions

Les objets tracer et span ne sont plus nécessaires lors de l’utilisation de setError() et sendError().

2.x

3.x

Dans sendError(), des fonctions d’aide peuvent être utilisées pour ajouter des données supplémentaires au span d’erreur.
En savoir plus sur la gestion des exceptions dans la documentation 3.x sur la gestion des exceptions