Ce que vous allez apprendre dans ce TP
- Lancer Jaeger et HotROD
- Lire une trace
- Identifier le goulot d'étranglement
Introduction #
Ce que vous allez apprendre dans cette section
- Lancer Jaeger et HotROD
- Lire une trace
- Identifier le goulot d'étranglement
Contexte. Les utilisateurs de HotROD se plaignent : commander une voiture prend parfois plusieurs secondes. Vous utilisez les traces pour trouver la cause.
Prérequis : Docker Compose · Durée estimée : 40 min
Votre premier diagnostic par les traces.Mise en place #
Étapes guidées, avec leur correction.
1. Démarrer
Pourquoi ? HotROD envoie ses traces en OTLP à Jaeger.
Créez un Compose avec Jaeger et HotROD, puis démarrez-le.2. Générer des requêtes
Pourquoi ? Plusieurs clics simultanés reproduisent la charge qui ralentit le service.
Ouvrezhttp://localhost:8080et cliquez rapidement une dizaine de fois sur les boutons des clients.3. Trouver une trace lente
Pourquoi ? Le nuage de points met en évidence les traces anormales.
Dans Jaeger, cherchez les traces du servicefrontendpour l'opérationHTTP GET /dispatchet ouvrez la plus lente.4. Lire la chronologie
Pourquoi ? Le chemin critique révèle où le temps est passé.
Quel span est le plus long sur le chemin critique ? Que remarquez-vous sur les appels àrouteet àredis?5. Vérifier avec la vue System Architecture
Pourquoi ? Le graphe de dépendances confirme la topologie déduite des traces.
Ouvrez l'onglet System Architecture et retrouvez les services et leurs appels.
Niveau de difficulté : ●●○○○ (2/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
💬 Questions sur cette leçon
Aucune question pour l'instant : soyez le premier à demander de l'aide ou à partager votre configuration.
Articles recommandés
Le tracing distribué avec Jaeger : concepts et architecture
Les concepts du tracing distribué (trace, span, contexte, propagation) et Jaeger : son histoire, ...
Installer Jaeger v2 : all-in-one, configuration et stockages
Lancer Jaeger v2 en all-in-one, comprendre son fichier de configuration (extensions jaeger_storag...
Analyser des traces dans l'interface de Jaeger
Rechercher des traces, lire une chronologie, repérer le chemin critique, comparer deux traces, ut...
Instrumenter ses applications pour Jaeger avec OpenTelemetry
Envoyer des traces à Jaeger avec OpenTelemetry : auto-instrumentation (Java, Python, Node.js), SD...
Grafana Tempo ou Jaeger : quel backend de traces choisir ?
Comparatif détaillé de Grafana Tempo et Jaeger : architecture, stockage, recherche, langage de re...
Jaeger en production : échantillonnage, stockage, Kafka et Kubernetes
Rendre Jaeger fiable et abordable : stratégies d'échantillonnage (head, tail, adaptatif), dimensi...
Bonnes pratiques du tracing distribué avec Jaeger
Check-list pour un tracing utile : instrumentation OpenTelemetry, nommage des spans, attributs, p...
Grafana Alloy et les traces : OTLP, Jaeger et Zipkin vers Tempo
Plongez dans le traitement des traces distribuées. Apprenez à ingérer des traces OTLP, Jaeger ou ...
Grafana Tempo : le backend de traces distribuées à grande échelle
Comprendre le tracing distribué et Grafana Tempo : traces, spans, TraceID, architecture (distribu...