L'agent New Relic Ruby fournit une API publique avec une documentation disponible sur RubyDoc. La documentation RubyDoc vous explique comment configurer une instrumentation personnalisée de votre application Ruby et collecter des données plus approfondies :
Les sections suivantes expliquent les objectifs communs, les solutions et les liens vers les parties pertinentes de la documentation.
Important
Lorsque vous utilisez l'API d'agent Ruby , assurez-vous que vous disposez de la dernière sortie de l'agent Ruby . Plusieurs API utilisées dans les exemples suivants nécessitent l’agent Ruby version 4.6.0 ou supérieure.
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... |
---|---|
Le temps qu'une méthode New Relic ne soit pas instrumenté automatiquement | Créer une nouvelle transaction. Voir Suivi des points d'entrée des transactions. |
Chronométrer autre chose qu'un simple appel de méthode | Utilisez l'API traceur. |
Empêcher une transaction d'être signalée à New Relic | Ignorer la transaction. |
Méthodes temporelles spécifiques utilisant des segments
Si une transaction est déjà visible dans l'UI New Relic, mais que vous ne disposez pas de suffisamment de données sur une méthode particulière qui a été 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.
Utilisez ces méthodes lorsque vous souhaitez instrumenter une méthode dans une transaction existante :
Si vous voulez... | Fais ceci... |
---|---|
Chronométrer une méthode particulière | Voir Méthode traceur. |
Chronométrer autre chose qu'un simple appel de méthode | Utilisez l'API traceur. |
Améliorer les métadonnées d'une transaction
Parfois, le code que vous ciblez est visible dans l'UI de New Relic, mais certains détails de la méthode ne sont pas utiles. Par exemple:
- Le nom par défaut provoque un problème de regroupement métrique.
- Vous souhaitez ajouter des attributs personnalisés à vos transactions afin de pouvoir les filtrer dans le générateur de requêtes.
Utilisez ces méthodes lorsque vous souhaitez modifier la manière dont New Relic instrumente une transaction déjà visible dans l'UI de New Relic :
Si vous voulez... | Fais ceci... |
---|---|
Changer le nom d'une transaction | |
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é. Voir Ajout de l'attribut personnalisé. |
Marquer une transaction comme tâche d'arrière-plan | |
Marquer une transaction comme une transaction Web | Transmettez une option |
Empêcher une transaction d'affecter votre score Apdex |
Voir le log associé
Pour voir le log directement dans le contexte des erreurs et des traces de votre application, utilisez ces appels d'API pour annoter votre log :
Pour plus d'informations sur la corrélation des données log avec d'autres données télémétriques, consultez notre documentation sur les logs en contexte .
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 ou attendues.
Si vous voulez... | Fais ceci... |
---|---|
Signaler une erreur que l'agent ne signale pas automatiquement | |
Empêcher l'agent de signaler une erreur | Marquer l’erreur comme ignorée. Voir Error Collector pour utiliser l'option de configuration |
Empêchez une erreur d'affecter votre Apdex ou votre taux d'erreur, mais signalez-la quand même à New Relic | Marquez l’erreur comme prévu. Voir Envoi des erreurs gérées par New Relic et définissez |
Envoyez des données d'événement personnalisées et métriques depuis votre application
APM 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.
Si vous voulez... | Fais ceci... |
---|---|
Envoyer des données sur un événement afin de pouvoir l'analyser dans le dashboard | Créer un événement personnalisé. Voir |
Étiquetez votre événement avec des métadonnées pour les filtrer et les mettre en facette dans le dashboard ou l'analyse des erreurs | Ajouter un attribut personnalisé. Transmettez un hachoir d'attribut à |
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 à monitoring des navigateurs. Cependant, vous pouvez également récupérer l'agent du navigateur via les appels d'agent de l'API APM. Pour plus d'informations, voir browser_timing_header()
.
Appels d'instruments aux magasins de données
Utilisez ces méthodes pour collecter des données sur les connexions de votre application à d’autres magasins de données :
Si vous voulez... | Fais ceci... |
---|---|
Le temps d'appel à un datastore n'est pas instrumenté automatiquement par New Relic | Voir |
Chronométrez un appel de datastore qui ne peut pas être proprement encapsulé dans un bloc Ruby | Voir |
Capturez la requête SQL avec le timing | Voir |
Capturez les requêtes non SQL avec le timing | Voir |
appels d'instruments vers des externes
Utilisez ces méthodes pour collecter des données pour requests externes :
Si vous voulez... | Fais ceci... |
---|---|
Le temps d'appel d'une requête externe n'est pas instrumenté automatiquement par New Relic | Utilisez |
Ajouter des en-têtes de traçage inter-applications (CAT) à une requête HTTP sortante | Utilisez |
Lire les en-têtes CAT à partir d'une requête HTTP entrante | Utilisez |
Générer une chaîne obscurcie pour transporter les informations CAT dans une requête sortante | Utilisez |
Traiter une chaîne obscurcie contenant des informations CAT reçues à partir d'une requête entrante | Utilisez |
Instrumenter appels à tracing distribué
Important
Les exemples d’API suivants nécessitent l’agent Ruby version 6.9.0 ou supérieure.
Ces API nécessitent que le tracing distribué soit activé.
Le tracing distribué vous permet de voir les chemins empruntés requests lorsqu'elles parcourent un système distribué.
Pour obtenir des instructions générales sur la façon d'utiliser les appels ci-dessous pour implémenter le tracing distribué, consultez Utiliser API de tracing distribué.
Si vous voulez... | Fais ceci... |
---|---|
Envoyer une charge utile/un en-tête au service appelé. | Voir |
Accepter une charge utile/un en-tête reçu du premier service, qui reliera ces services ensemble dans une trace | Voir |