• /
  • 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

gRPC instrumentation

L'agent Ruby New Relic instrumente automatiquement les clients et serveurs gRPC qui utilisent le gem grpc (version 1.0.0 ou supérieure). Tous les types de communication sont pris en charge : unaire, bidirectionnel, streaming client et streaming serveur.

Important

L'instrumentation gRPC nécessite l'agent Ruby version 8.10.0 ou supérieure.

configuration (tous les paramètres sont facultatifs)

Vous pouvez configurer l'instrumentation des clients et des serveurs gRPC séparément. Par défaut, les deux options de configuration sont définies sur auto, qui est l'abréviation de automatic. Le comportement automatique de l'agent pour chacun consiste à activer l'instrumentation en essayant d'abord de tirer parti du comportement de préfixe du module Ruby et en revenant au comportement de la chaîne de méthodes Ruby si des problèmes de compatibilité connus sont rencontrés.

Voir des options et des exemples supplémentaires dans les sections qui suivent.

Options client et serveur

Vous pouvez modifier le comportement de l'agent en modifiant le fichier de configuration New Relic ou en définissant des variables d'environnement. Voici les options qui s’appliquent aux clients et aux serveurs :

  • auto: La valeur par défaut qui est activée via la sélection automatique du comportement de la méthode Ruby
  • disabled:instrumentation désactivée
  • prepend: Forcer l'utilisation de la méthode Ruby en préfixe
  • chain: Forcer l'utilisation de la méthode Ruby chaîne

Options spécifiques au client

Utilisez les éléments suivants uniquement pour les clients :

  • paramètre du fichier de configuration : instrumentation.grpc_client
  • variable d'environnement: NEW_RELIC_INSTRUMENTATION_GRPC_CLIENT

Options spécifiques au serveur

Utilisez les éléments suivants uniquement pour les serveurs :

  • paramètre du fichier de configuration : instrumentation.grpc_server
  • variable d'environnement: NEW_RELIC_INSTRUMENTATION_GRPC_SERVER

Exemples de configuration client et serveur

Pour désactiver l’instrumentation du serveur gRPC via le fichier de configuration :

# newrelic.yml
instrumentation.grpc_server: disabled

Pour désactiver l’instrumentation du client gRPC via une variable d’environnement :

bash
$
export NEW_RELIC_INSTRUMENTATION_GRPC_CLIENT=disabled

Vérification

Une fois l'agent Ruby New Relic démarré, il détectera la présence de la gem grpc chargée, puis tentera d'appliquer l'instrumentation gRPC. En cas de succès de l'application de cette instrumentation pour les composants client et serveur gRPC , l'agent écrira les lignes suivantes dans son fichier de log (log/newrelic_agent.log par défaut) :

INFO : Installing New Relic supported gRPC_Client instrumentation using Prepend
INFO : Installing New Relic supported gRPC_Server instrumentation using Prepend

Usage

Tant que l'instrumentation fonctionne correctement (voir Vérification ci-dessus pour confirmer cela), toute l'instrumentation effectuée par l'agent Ruby New Relic doit être entièrement automatique et ne nécessiter aucune modification de votre code client et/ou serveur gRPC existant.

L'instrumentation gRPC de l'agent Ruby New Relic inclut des en-têtes de tracing distribué dans les étendues, ce qui permet aux appels client et serveur gRPC d'être connectés à tout autre service prenant en charge le tracing distribué W3C. gRPC requests peuvent être envoyées depuis un client basé sur Ruby vers un serveur basé sur un autre langage, et un serveur requests basé sur Ruby peut traiter provenant d'un client basé sur un autre langage.

Important

gRPC des clients requests ne seront pas signalées à New Relic, sauf si elles sont générées lorsqu'une transaction New Relic existante est présente. En général, cela signifie qu'une méthode de contrôleur Rails ou un processus de travail en arrière-plan est actif et responsable de l'invocation de la demande du client gRPC. La demande sera ensuite intégrée à la transaction de ce wrapper externe dans l'UI Web de New Relic.

gRPC du serveur requests généreront toujours une nouvelle transaction New Relic et ne nécessiteront ni ne se cumuleront avec aucune transaction New Relic préexistante.

Afficher les données

Vous pouvez voir les données gRPC collectées sur un certain nombre de pages de l'UI de New Relic.

Page de résumé

Sur la UI page Résumé, gRPC client requests apparaissent sous forme de transactions Web et contribuent aux données des graphiques suivants :, Web transactions time Throughput Error rateet.

Page de traing distribué

Conseil

Le tracing distribué est activé par défaut dans les nouveaux agents Ruby , mais si vous avez des questions, consultez le tracing distribué pour vos services Ruby .

Consultez les données gRPC sur la page de tracing distribué de l'UI:

  1. Allez à one.newrelic.com > All capabilities > APM & services.

  2. Cliquez sur votre entité (service).

  3. Dans la section Monitor du volet de gauche, cliquez sur Distributed tracing.

  4. Cliquez sur un groupe trace .

  5. Choisissez une trace dans la liste et cliquez dessus.

  6. Cliquez sur Expand all.

  7. Dans la liste des étendues de trace résultantes, cliquez sur une étendue de trace individuelle.

  8. Cliquez sur l’onglet Attributes dans le volet de droite.

    • Client instances: Les attributs grpc_status, grpc_type, http.method et http.url doivent tous apparaître. En cas d'échec d'une requête client (qui aura une valeur grpc_status autre que 0), un attribut grpc_message supplémentaire apparaîtra avec le message d'état gRPC .
    • Server instances: Les attributs request.grpc_type, request.method et request.uri doivent tous apparaître.

Tant que les applications client et serveur sont monitorées par un agent New Relic prenant en charge gRPC (en Ruby ou dans un autre langage), la carte de tracing distribué doit effectuer les opérations suivantes :

  • Affichez les applications client et serveur.
  • Indiquez combien de types d'appels distincts ont été effectués entre eux.

En cas d'exception Ruby basée sur gRPC, les informations sur l'exception apparaîtront sur la page Events > Errors.

Assistance et commentaires

Lorsque vous contactez New Relic pour obtenir de l'aide et/ou des commentaires concernant l'instrumentation gRPC de l'agent Ruby New Relic, essayez d'avoir des réponses aux questions suivantes :

  • Quelle version de la gem grpc utilisez-vous ?
  • Utilisez-vous New Relic Infinite Tracing ?
  • Comment décririez-vous l’environnement de votre application ? (framework, version Ruby , autres technologies clés utilisées)
  • À quoi sert gRPC ?
  • Utilisez-vous Ruby pour les clients gRPC ?
  • Utilisez-vous une langue différente pour les clients gRPC ?
  • Utilisez-vous Ruby pour les serveurs gRPC ?
  • Utilisez-vous un langage différent pour les serveurs gRPC ?
  • Où appelez-vous votre code client gRPC ? (à partir d'un contrôleur, d'une tâche en arrière-plan, etc.)
  • Quelle(s) stratégie(s) utilisez-vous pour envoyer vos données ? (unaire, bidirectionnel, streaming client, streaming serveur)
Droits d'auteur © 2025 New Relic Inc.

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