Le tracing distribué vous permet de voir l'intégralité du parcours de vos requests à travers un systèmes distribués. Pour l'agent Ruby , nous proposons deux types de tracing distribué (pour plus de détails, voir Comment fonctionne l'échantillonnage de span) :
Standard (échantillonnage en début de workflow) : Avant l'arrivée de toute trace, nous déterminons un pourcentage défini de trace à accepter et à analyser. Cela vous donne un point de départ solide pour voir comment le traçage peut vous aider. Il est activé par défaut dans les agents Ruby 8.0.0 et supérieurs.
Infinite Tracing (échantillonnage en fin de workflow) : Notre service basé sur le cloud accepte toutes vos traces puis les trie pour trouver les plus importantes. Infinite Tracing analyse toutes vos traces et vous offre des options configuration pour échantillonner les traces qui comptent le plus pour vous.
Que vous souhaitiez simplement tester le tracing standard distribué (échantillonnage en début de workflow) ou que vous souhaitiez également mettre en place Infinite Tracing (échantillonnage en fin de workflow), vous devez commencer par mettre en place le tracing standard.
Tracing standard distribué
Il s’agit de la meilleure approche pour configurer le tracing standard distribué si vous n’avez pas encore installé d’agent APM pour vos services.
Conseil
Lorsque vous installez l'agent Ruby New Relic , le tracing distribué standard est activé par défaut. Si vous préférez le désactiver, consultez notre guide de configuration.
Identifier les services
Déterminez les services que vous souhaitez instrumenter afin qu'ils envoient chacun des données trace à New Relic.
instrumenter chaque service avec un agent APM
Pour chaque service impliqué dans vos transactions, vous effectuerez une installation distincte de l'agent. Si certains de vos services utilisent d’autres langues, répétez simplement les étapes d’installation pour ces langues.
Pour démarrer la routine d'installation, cliquez sur la tuile ci-dessous. Une fois l'installation de chaque agent terminée, revenez ici pour voir des conseils pour visualiser votre trace.
Afficher la trace
Après avoir instrumenté chacun de vos services avec l'agent APM, générez du trafic dans votre application afin que nous puissions capturer une trace. Voici deux façons d'afficher votre trace dans l' UI:
Pour plus d'aide pour trouver votre trace dans l'UI:
Infinite Tracing
Le tracing standard distribué pour l'agent APM capture jusqu'à 10 % de votre trace, mais si vous souhaitez que nous analysions toutes vos données et trouvions la trace la plus pertinente, vous pouvez configurer le Infinite Tracing.
Avant de commencer, assurez-vous d’abord de répondre aux exigences.
Terminez la configuration pour le tracing standard distribué
La configuration Infinite Tracing s'appuie sur le tracing standard distribué. Assurez-vous donc d’avoir terminé les étapes ci-dessus, puis continuez avec la configuration de l’observateur de trace.
Configurer l'observateur de trace
L'observateur de trace est un service New Relic basé sur AWSqui collecte et analyse toutes vos traces. Suivez les instructions dans Configurer Trace Observer. Une fois que vous avez terminé, revenez ici avec les informations de votre observateur de trace et passez à l’étape suivante pour configurer l’agent.
Configurer l'agent pour Infinite Tracing
Les paramètres configuration d'Infinite Tracing incluent le tracing standard distribué ainsi que des informations sur l'observateur de trace. Notez que la configuration côté serveur n'est pas disponible pour Infinite Tracing.
Conseil
Si vous avez besoin d'aide avec la configuration du proxy, consultez Assistance proxy.
(Facultatif) Personnaliser Infinite Tracing
Après avoir ajouté les agent configuration paramètres, vous devriez commencer à voir les données dans l’UI de New Relic. Après avoir passé un certain temps à analyser vos données, vous souhaiterez peut-être ajuster certaines fonctionnalités d'Infinite Tracing :
instrumentation manuelle (Si instrumentation automatique ne fonctionne pas)
Recommandation : Avant de procéder à une instrumentation personnalisée, lisez :
Si un service ne transmet pas l'en-tête de trace à d'autres services, vous pouvez utiliser l'API de charge de tracing distribué pour instrumenter le service appelant et le service appelé. Le service appelant utilise un appel d'API pour générer une charge, qui est acceptée par le service appelé.