Observez toutes les traces pour repérer et résoudre les problèmes plus vite

Notre tracing distribué permet de tirer les conclusions nécessaires avec la mise à jour d'un seul agent, pour que vous puissiez vous concentrer sur ce qui est important et résoudre les problèmes plus vite.

Publié Mise à jour : Lecture : 7 min

Avec plus de 43 millions de véhicules vus par mois, les performances et la disponibilité du site de Dealer.com sont le moteur de l'activité de milliers de concessionnaires automobiles dans tous les États-Unis. Si le site n'est pas disponible ou si une erreur survient et que les acheteurs ne peuvent pas rapidement et facilement obtenir un devis ou faire la recherche préliminaire pour trouver un nouveau véhicule, la vente peut ne jamais avoir lieu.

Dans des environnements informatiques complexes comme celui de Dealer.com, chaque demande passe généralement par des dizaines de services discrets. Un seul service problématique peut perturber le temps de réponse global de la requête, transformer la bonne expérience du client en mauvaise et éventuellement l'amener à aller voir ailleurs.

Lorsqu'elles travaillent sur les logiciels dans un environnement où de nombreux services contribuent à la réponse à une requête, les équipes doivent comprendre en profondeur les performances de tous les services, en amont et en aval, afin de pouvoir résoudre les problèmes de performances plus efficacement, mesurer l'état de santé global du système et prioriser les zones à fortes valeurs qu'il faut améliorer. 

New Relic Distributed Tracing est inclus pour les clients APM

La capacité New Relic Distributed Tracing a été conçue pour donner aux équipes informatiques qui travaillent dans des environnements modernes une méthode simple pour la capture, la visualisation et l'analyse des traces traversant des architectures complexes. Et si vous utilisez déjà le monitoring des performances des applications avec New Relic APM, vous obtenez le tracing distribué sans frais supplémentaires. Vous avez simplement besoin de mettre à jour vos agents, d'ouvrir New Relic et de sélectionner Traces pour voir vos données de trace.

Les agents de New Relic APM suppriment complètement la charge opérationnelle de gestion des logiciels de tracing complexes, afin que les ingénieurs, comme Andrew chez Dealer.com, soient libres d'instrumenter leurs environnements pour générer une télémétrie illimitée des traces sans s'inquiéter des complications associées aux déploiements et à l'évolutivité des composants.

Nous nous sommes rendu compte que l'intégration du tracing distribué de New Relic était extrêmement facile. Nous avons simplement mis à jour notre agent et, soudain, nous avions accès au tracing distribué. C'était vraiment incroyable !

Vous pouvez observer automatiquement toutes les traces des applications sur tous vos systèmes distribués. New Relic Distributed Tracing fournit des diagrammes de dispersion et des visualisations en cascade pour divers langage comme C, Go,  Java, .NET, Node.js, PHP, Python, Ruby, et plus encore. La capacité comprend également les données de navigateur et le monitoring des appareils mobiles de New Relic, les traces au format AWS Lambda et Zipkin via l'API Trace et elle prend en charge les normes courantes telles qu'OpenTelemetry et W3C afin que vous puissiez rechercher et résoudre les problèmes plus rapidement.

La vue de tracing distribué qui fait partie du monitoring des performances des applications (APM) de New Relic.

Comprendre la complexité des logiciels

Pour savoir pourquoi le tracing distribué est si important, il est utile de regarder les plateformes cloud, la conteneurisation et l'orchestration des conteneurs que les organisations informatiques tournées vers l'avenir utilisent pour rapidement développer, faire évoluer et exploiter les applications essentielles à leur activité.

Malgré les nombreux avantages des architectures informatiques développées sur des microservices et serverless, l'explosion du nombre de composants et de leurs différents langages, environnements d'exploitation et droits de propriété créent une nouvelle et très lourde charge pour les équipes qui essaient de les gérer. En effet, celles-ci ne peuvent pas travailler efficacement à la résolution des problèmes dans un système complexe avant de comprendre toutes les dépendances de service et comment les caractéristiques de performances des services dépendants impactent leurs demandes et les transactions. Pour trouver la proverbiale aiguille dans la botte de foin, vous avez besoin d'une vue complète de tout le système.

Il est essentiel à la résolution rapide des problèmes de pouvoir comprendre comment un service en aval « à quelques pas de là » peut créer un goulot d’étranglement pour un service. Il est tout aussi important de fournir aux équipes DevOps les informations détaillées qui leur permettront d'optimiser leur code. Si vous pouvez déterminer quand, pourquoi et comment, un problème s'est produit, les petits défauts peuvent continuer à traîner en production jusqu'à ce qu'un parfait concours d'événement se profile à l'horizon et que le système se dégrade tout à coup. Le tracing distribué fournit une vue détaillée des requêtes individuelles afin que vous puissiez déterminer avec précision les sections du système plus vaste qui entraînent les problèmes afin de les résoudre et d'optimiser le système plus rapidement.

Données et informations

Le tracing distribué fournit la visibilité de bout en bout en révélant les dépendances des services. Vous pouvez voir cela comme une façon d'enregistrer et de visualiser les requêtes via les systèmes distribués complexes. Mais la collecte et la visualisation des données peuvent exiger un travail intensif et être difficiles à implémenter, comme le déploiement, la gestion et l'évolutivité des passerelles ou satellites tiers en ce qui concerne la collecte de données.

New Relic facilite le paramétrage du tracing distribué avec l'instrumentation automatique. Notre code d'application à instrumentation automatique utilise des agents de langage qui fonctionnent avec des centaines de bibliothèques et de frameworks dans de multiples langages. Vous déployez un agent et New Relic APM instrumente chaque service impliqué dans la requête, crée les timings pour les opérations au sein du service et ajoute automatiquement les informations de dépannage pour chaque span. Vous pouvez même ajouter des attributs personnalisés aux transactions et aussi voir toutes vos informations dans la trace, sans rien changer.

Les agents New Relic APM créent automatiquement un identifiant de trace unique pour chaque requête entrante et propagent cet identifiant ainsi que d'autres informations de corrélation nécessaires telles que le « contexte de la trace » sur l'intégralité de l'appel. Par exemple, lorsqu'un service appelle un autre service, New Relic ajoute le contexte de la trace à l'entête de la requête HTTP qui sera ensuite utilisé par le service suivant. Notre auto-instrumentation a été conçue pour éliminer la lourde tâche de gestion et de propagation du contexte.

Que se passe-t-il lorsqu'un transport requérant une instrumentation manuelle est utilisé ? L'agent New Relic APM fournit une API que vous pouvez utiliser pour injecter et extraire le contexte de la trace. L'utilisation du format W3C Trace Context pour la propagation du contexte de la trace le rend interopérable (ou interexploitable) avec tout autre agent ou outil de tracing qui prend également en charge cette norme.

Rien de tout cela ne compte si vous ne pouvez pas identifier les informations détaillées dans les données de l'ensemble de votre stack. New Relic APM fournit des visualisations conçues pour vous aider à rapidement comprendre pourquoi une requête spécifique est lente, où une erreur s'est produite et où vous pouvez optimiser votre code pour améliorer l'expérience de vos clients.

Voici un diagramme qui montre comment ces composants fonctionnent ensemble pour New Relic Distributed Tracing :

Les quatre composants du tracing distribué
Les quatre composants du tracing distribué

Bien démarrer avec le tracing distribué de New Relic

Vous êtes prêt à démarrer et à identifier comment améliorer vos applications ? Avec New Relic APM et le tracing distribué, vous allez rapidement analyser les architectures complexes afin de pouvoir mieux comprendre les dépendances sur tout votre système.

1. Consultez la documentation sur le tracing distribué.

2. Déployez ou mettez à jour le tout dernier agent d'APM pour chaque service engagé dans le chemin de l'appel qui vous intéresse. Le tracing distribué sera immédiatement disponible une fois la mise à jour terminée.

3. C'est tout ! Vous pouvez désormais accéder aux informations de tracing distribué depuis New Relic APM et d'identifier rapidement les traces lentes et celles qui contiennent des erreurs. Et vous pouvez même utiliser le filtrage avancé pour trouver les traces selon une combinaison d'attributs.


Affichez tous les spans qui composent une trace. Utilisez les détails capturés pour chaque span afin de comprendre ce qui s'est passé et de résoudre le problème.