• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Guide d'utilisation de l'API d'agent Ruby

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:

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

Voir Dénomination des transactions.

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

Voir les tâches d'arrière-plan personnalisées du moniteur.

Marquer une transaction comme une transaction Web

Transmettez une option :category => :controller à set_transaction_name(). Pour plus d'informations, voir Nommage des transactions.

Empêcher une transaction d'affecter votre score Apdex

Voir Ignorer les contributions 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

Voir Envoi des erreurs gérées par New Relic.

Empêcher l'agent de signaler une erreur

Marquer l’erreur comme ignorée. Voir Error Collector pour utiliser l'option de configuration error_collector.ignore_errors .

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 :expected sur true.

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 record_custom_event().

É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 à record_custom_event().e

Rapport de données de performances personnalisées

Créez une métrique personnalisée. Voir record_metric().

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 wrap().

Chronométrez un appel de datastore qui ne peut pas être proprement encapsulé dans un bloc Ruby

Voir Tracer.start_datastore_segment(). Vous must appelez finish sur l'objet renvoyé par cette méthode.

Capturez la requête SQL avec le timing

Voir notice_sql().

Capturez les requêtes non SQL avec le timing

Voir notice_statement().

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 Tracer.start_external_segment(). Vous must appelez finish sur l'objet renvoyé par cette méthode.

Ajouter des en-têtes de traçage inter-applications (CAT) à une requête HTTP sortante

Utilisez add_request_headers().

Lire les en-têtes CAT à partir d'une requête HTTP entrante

Utilisez read_response_headers().

Générer une chaîne obscurcie pour transporter les informations CAT dans une requête sortante

Utilisez get_request_metadata().

Traiter une chaîne obscurcie contenant des informations CAT reçues à partir d'une requête entrante

Utilisez process_response_metadata().

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 insert_distributed_trace_headers().

Accepter une charge utile/un en-tête reçu du premier service, qui reliera ces services ensemble dans une trace

Voir accept_distributed_trace_headers().

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.