Notre API d'agent Node.js vous permet d'étendre les fonctionnalités standard de l'agent. Vous pouvez utiliser cette API pour :
- Créer un paramètre de transaction personnalisé
- Signaler les erreurs et les mesures personnalisées
Vous pouvez également utiliser l'API pour une instrumentation personnalisée. Pour le framework pris en charge, l'agent instrumente la plupart des activités automatiquement. instrumentation personnalisée vous permet d'étendre cette monitoring au framework sans instrumentation par défaut.
Autres ressources :
- La documentation d'API de l'agent Node.js sur GitHub.
- Exemple d'application utilisant instrumentation personnalisée.
- Vous pouvez également ajuster le comportement par défaut de l'agent Node.js avec les paramètres de configuration.
Exigences
Pour utiliser Node.js API l'agent d' , assurez-vous d'avoir la dernière sortie de l'agent Node.js. Voir également :
Instrumenter manquant des sections de votre code avec des transactions
Pour instrumenter votre application, New Relic sépare chaque chemin à travers votre code dans sa propre transaction. New Relic chronomètre (ou « instrumente ») la méthode parent dans ces transactions pour mesurer les performances globales de votre application et collecte la trace des transactions de longue durée pour plus de détails.
Utilisez ces méthodes lorsque New Relic n’instrumente pas du tout une partie particulière de votre code :
Si vous voulez... | Fais ceci... |
---|---|
Démarrer le chronométrage d'une méthode New Relic n'est pas instrumenté automatiquement | Créer une nouvelle transaction. Voir |
Arrêtez de chronométrer une méthode une fois son travail terminé | Utilisez l’une de ces options :
|
Empêcher une transaction d'être signalée à New Relic | Ignorez la transaction en utilisant l’une de ces options :
|
Pour plus d'informations sur la création d'une transaction Web personnalisée, consultez l'exemple startWebTransaction sur GitHub.
Méthodes temporelles spécifiques utilisant des segments
Si une transaction est déjà visible dans New Relic, mais que vous ne disposez pas de suffisamment de données sur une méthode particulière appelée au cours de cette transaction, vous pouvez créer des segments pour chronométrer ces méthodes individuelles plus en détail. Par exemple, vous souhaiterez peut-être chronométrer une méthode particulièrement critique avec une logique complexe.
Pour chronométrer une méthode particulière, consultez newrelic.startSegment.
Pour plus d’informations sur la synchronisation, consultez l’ exemple d’instrumentation personnalisée sur GitHub.
Améliorer les métadonnées d'une transaction
Parfois, le code que vous ciblez est visible dans New Relic, mais certains détails de la méthode ne sont pas utiles. Par exemple:
- Le nom par défaut peut ne pas être utile. (Cela provoque peut-être un problème de regroupement métrique.)
- Vous souhaitez ajouter des attributs personnalisés à vos transactions afin de pouvoir les filtrer.
Utilisez ces méthodes lorsque vous souhaitez modifier la manière dont New Relic instrumente une transaction déjà visible dans New Relic:
Si vous voulez... | Fais ceci... |
---|---|
Changer le nom d'une transaction | Voir |
Ajoutez des métadonnées (telles que le nom de compte ou le niveau d'abonnement de vos clients) à vos transactions | Utilisez l'attribut personnalisé. (l'attribut personnalisé de collection est activé par défaut dans l'agent Node.js ) Voir |
Créer une nouvelle transaction pour le travail en arrière-plan | Voir |
Créer un nouveau site Web de transaction | Utilisez |
Empêcher une transaction d'affecter votre score Apdex | Voir les règles de dénomination et d'ignorance requests, y compris l'exemple de règles d'ignorance. |
Enregistrer d'autres données de performances, telles que les données de synchronisation ou de ressources informatiques | Utilisez |
Voir le log associé
Par défaut, l'agent envoie le log directement dans le contexte des erreurs et de la trace de votre application. Pour plus d'informations sur la corrélation des données log avec d'autres données télémétriques et framework pris en charge, consultez notre documentation logs en contexte.
Si vous utilisez un mécanisme de logging qui n'est pas instrumenté par New Relic, vous pouvez à la place utiliser directement cet appel d'API pour enregistrer et transmettre vos journaux en contexte :
Une méthode alternative plus ancienne consiste à utiliser votre propre redirecteur de logau lieu de laisser l'agent effectuer la redirection pour vous. Dans ce cas, vous devrez annoter votre log avec le contexte approprié avant de le transmettre. Utilisez ces appels d'API:
Travail asynchrone de l'instrument
Pour les frameworks pris en charge et les versions prises en charge de Node.js , l'agent Node.js de New Relic instrumente généralement correctement le travail asynchrone. Cependant, si votre application utilise un autre framework ou si l'instrumentation asynchrone par défaut est inexacte, vous pouvez suivre explicitement le travail asynchrone.
Si vous voulez... | Fais ceci... |
---|---|
tracer une méthode asynchrone que New Relic est déjà instrumentée | Voir |
tracer une méthode asynchrone que New Relic n'est pas instrumentée | Voir |
retracer une transaction qui a été perdue | Voir |
Instrumenter les appels à des services externes
Une fois l'API de dénomination des demandes chargée, l'agent Node.js de New Relic peut identifier automatiquement les appels de service externes. Vous pouvez également utiliser ces méthodes pour collecter des données sur les connexions de votre application à d'autres applications ou bases de données :
Si vous voulez... | Fais ceci... |
---|---|
Chronométrer un appel vers une ressource externe (comme un service externe, un serveur de base de données ou un fichier d'attente des messages) | Utilisez l’un de ces éléments selon le cas :
|
Connecter l'activité à une autre application instrumentée par un agent de New Relic | Utiliser le traçage distribué. Pour plus d'informations sur l'insertion et l'acceptation manuelles des en-têtes de traçage distribués, consultez l'exemple application sur GitHub. |
Visualisez le chemin emprunté par une requête lorsqu'elle traverse un système distribué. |
Collecte ou erreur ignorée
Habituellement, l'agent détecte les erreurs automatiquement. Cependant, vous pouvez marquer manuellement une erreur avec l'agent. Vous pouvez également marquer les erreurs comme ignorées. Pour plus d'informations sur l'utilisation des méthodes API pour log, regrouper et associer des erreurs, utilisez l'exemple application sur GitHub.
Si vous voulez... | Fais ceci... |
---|---|
Signaler une erreur que l'agent ne signale pas automatiquement | Voir |
Regroupez les erreurs par nom, à l'aide d'une fonction de filtre personnalisée que vous définissez | |
Associer les erreurs à l'utilisateur | Voir |
Envoyez des données d'événement personnalisées et métriques depuis votre application
New Relic inclut un certain nombre de façons d'enregistrer des données personnalisées arbitraires. Pour une explication des types de données New Relic, voir Collecte de données. Pour plus d'informations sur l'utilisation des méthodes API ci-dessous, utilisez l'exemple d'application sur GitHub.
Si vous voulez... | Fais ceci... |
---|---|
Envoyez des données sur un événement afin de pouvoir l'analyser dans New Relic | Créer un événement personnalisé. Voir |
taggez votre événement avec des métadonnées pour les filtrer et les faceter | Ajoutez l'attribut personnalisé si nécessaire. (l'attribut collection personnalisé est activé par défaut dans l'agent Node.js) Voir |
Rapport de données de performances personnalisées | Créez une métrique personnalisée. Voir |
Contrôler l'agent de navigateur
Habituellement, l'agent est ajouté automatiquement à vos pages ou déployé en copiant/collant le snippet JavaScript. Pour plus d’informations sur ces méthodes recommandées, consultez Ajouter des applications de navigateur à New Relic.
Vous pouvez également contrôler l'agent de navigateur via agent APM appelé d'API. Pour plus d'informations, consultez le monitoring des navigateurs et l'agent Node.js.
Étendre l'instrumentation personnalisée
Pour plus d'informations sur l'utilisation de instrumentation personnalisée de l'API, consultez l'instrumentation personnalisée Node.js
Pour ajouter instrumentation personnalisée dans l'application du module ES, veuillez vous référer à notre documentation du module ES ou à l'exemple application dans GitHub.