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.
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 Go Agent 3.16.0 et versions ultérieures.
Traçage infini (échantillonnage en fin de workflow) : Notre service basé sur le cloud accepte toutes vos traces puis les trie pour trouver les plus importantes. Le traçage infini 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 traçage standard distribué (échantillonnage en début de workflow) ou que vous souhaitiez également mettre en place un traçage infini (échantillonnage en fin de workflow), vous devez commencer par mettre en place le traçage standard.
Traçage standard distribué
Il s’agit de la meilleure approche pour configurer le traçage standard distribué si vous n’avez pas encore installé d’agent APM pour vos services.
Conseil
Lorsque vous installez l'agent Go de New Relic, le traçage standard distribué est activé par défaut. Si vous préférez le désactiver, consultez notre guide de configuration.
Identifier les services
Déterminez quels services touchent à votre demande afin de pouvoir instrumenter chacun d'eux pour envoyer 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.
Conseil
L'agent Go nécessite que vous instrumentez manuellement vos services Go, contrairement à l'auto-instrumentation de l'autre agent New Relic . Cela signifie que vous devez ajouter quelques lignes à votre code pour utiliser l'agent Go. Vous en apprendrez davantage à ce sujet lorsque vous démarrerez l'installation ci-dessous.
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.
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 quelques façons d'afficher votre trace dans l'UI:
Voici une façon de voir la trace d’un service particulier :
Dans la section Monitor du volet de gauche, cliquez sur Distributed tracing.
Pour plus de détails, cliquez sur une trace individuelle. Si Group similar traces est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle.
Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par trace.id.
Sélectionnez votre entité (service) dans le volet de gauche.
Pour plus de détails, cliquez sur une trace individuelle. Si Group similar traces est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle.
Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par trace.id.
Vous pouvez rassembler votre log et vos détails de traçage pour rendre le dépannage plus facile et plus rapide. Avec les logs en contexte, vous pouvez voir le message du à côté de log la trace dans l'UI de New Relic.
Le traçage 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 traçage infini.
Avant de commencer, assurez-vous d’abord de répondre aux exigences.
Terminez la configuration pour le traçage standard distribué
La configuration Infinite Tracing s'appuie sur le traçage 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 traçage standard distribué ainsi que des informations sur l'observateur de trace :
Si vous avez besoin d'aide avec la configuration du proxy, consultez Assistance proxy.
(Facultatif) Personnaliser le traçage infini
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 :
Toutes les installations de l'agent Go et le traçage distribué nécessitent une instrumentation manuelle utilisant les paramètres répertoriés dans les paramètres configuration de l'agent Go. Néanmoins, vous devrez peut-être effectuer quelques configurations supplémentaires pour optimiser votre configuration. Voici quelques lignes directrices pour les transactions instrumentées et requests HTTP.
Si vous utilisez http.ServeMux de Go et que vous souhaitez activer le traçage distribué de New Relic, votre application Go doit être instrumentée avec les wrappers WrapHandle et WrapHandleFunc de New Relic. Ces wrappers démarrent et terminent automatiquement les transactions avec le rédacteur de requêtes et de réponses, qui ajoutera automatiquement les en-têtes de traçage distribués corrects. Pour en savoir plus sur le fonctionnement de la propagation d'en-tête, consultez Fonctionnement du traçage distribué.
Voici un exemple de code avant instrumentation :
http.HandleFunc("/users", usersHandler)
Et voici un exemple de ce même code après instrumentation :
Afin que vos requests HTTP sortantes soient éligibles au traçage distribué, créez un segment externe.
Le moyen le plus simple de créer un segment externe pour votre requête HTTP sortante est d'utiliser la méthode newrelic.NewRoundTripper . Voici un exemple de création d'une requête à http://api.example.com qui inclut les en-têtes de traçages distribués sortants :
Si vous avez une requête plus complexe qui utilise la http.Request de la bibliothèque standard Go, utilisez la méthode newrelic.StartExternalSegment pour vous assurer que votre requête sortante est éligible au traçage distribué :
// Distributed tracing headers are not added to the outgoing request.
// Use newrelic.NewRoundTripper or newrelicc.StartExternalSegment instead.
defer newrelic.ExternalSegment{
StartTime: txn.StartSegmentNow(),
URL: url,
}.End()
return http.Get(url)
}
Les tracedistribuées contiennent des informations qui permettent New Relic de rassembler les transactions se produisant dans plusieurs services dans une trace de transaction complète. Si les services monitorés par New Relic n'envoient pas de contexte de trace, cela entraînera des détails de trace incomplets.
Pour obtenir des instructions générales sur la façon d'utiliser l'appel d'API ci-dessous pour implémenter le traçage distribué, consultez d'abord Utiliser les API de traçage distribué.
Si vous voulez...
Utilisez ceci
Créez une charge utile à envoyer au service appelé.