Ce que vous allez apprendre dans ce TP
- Auto-instrumenter deux services
- Vérifier une trace distribuée unique
- Comprendre le rôle de traceparent
Deux services, une trace #
Ce que vous allez apprendre dans cette section
- Auto-instrumenter deux services
- Vérifier une trace distribuée unique
- Comprendre le rôle de traceparent
Contexte. Un utilisateur voit une commande lente, mais la requête traverse un front et un backend : sans propagation de contexte, vous obtenez deux traces disjointes et aucune vue d'ensemble. Vous instrumentez deux services puis cassez volontairement la propagation pour en comprendre l'effet.
Prérequis : TP précédent (Collector), Python 3 · Durée estimée : 45 min
Frontend appelle backend.1. Écrire les services
Pourquoi ? Deux services qui s'appellent reproduisent le cas réel d'une architecture distribuée, sans la complexité d'une vraie application.
Deux petites applications Flask :frontappelleback.2. Auto-instrumenter
Pourquoi ? L'auto-instrumentation injecte et extrait automatiquement le contexte dans les appels HTTP, sans modifier le code.
Lancez les deux services avecopentelemetry-instrumentvers votre Collector.3. Vérifier la trace unique
Pourquoi ? Un même Trace ID dans les deux services prouve que le contexte a bien été propagé : c'est ce qui permet de voir la trace complète.
Dans les logs du Collector, retrouvez le mêmeTrace IDpour les deux services.4. Casser la propagation
Pourquoi ? Casser la propagation montre la conséquence concrète : traces coupées en deux, et c'est le premier symptôme à reconnaître en production.
DémarrezbackavecOTEL_PROPAGATORS=none: que devient la trace ?
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
💬 Discussions récentes de la formation
- Quels attributs utiliser pour nommer mes spans HTTP (semconv) ?✓ résolu · 1 réponse(s)
- OpenTelemetry Collector : mes traces arrivent mais pas mes métriques✓ résolu · 2 réponse(s)
Poser une question sur cette leçon →Voir toutes les discussions de la formation
Articles recommandés
Tracing distribué : la propagation du contexte (W3C Trace Context et baggage)
Comprendre et mettre en œuvre la propagation de contexte OpenTelemetry : en-tête traceparent, tra...
OpenTelemetry : Instrumentation Automatique vs Manuelle
Comprenez les différences entre l'instrumentation automatique et manuelle avec OpenTelemetry, leu...
Instrumenter ses applications pour Jaeger avec OpenTelemetry
Envoyer des traces à Jaeger avec OpenTelemetry : auto-instrumentation (Java, Python, Node.js), SD...
Instrumenter ses applications pour Pyroscope : SDK, Alloy et eBPF
Envoyer des profils à Pyroscope depuis Go, Java, Python et Node.js avec les SDK, collecter les po...
Instrumenter sans code avec Grafana Beyla (OpenTelemetry eBPF Instrumentation)
Obtenir métriques RED et traces HTTP/gRPC de n'importe quelle application sans la modifier : Graf...
Les concepts fondamentaux d'OpenTelemetry : signaux, ressources, contexte et maturité
Le vocabulaire indispensable d'OpenTelemetry : les quatre signaux, API et SDK, ressource et instr...
OpenInference : les conventions OpenTelemetry pour tracer les applications d'IA
Guide détaillé d'OpenInference : conventions sémantiques et instrumentations OpenTelemetry pour L...
OpenTelemetry sur Kubernetes : Operator, auto-instrumentation et Collector
Déployer OpenTelemetry sur Kubernetes : modes de déploiement du Collector (DaemonSet, Deployment,...
APM Datadog et OpenTelemetry : traces, services et corrélation avec les logs
Instrumenter ses applications pour l'APM Datadog (dd-trace, instrumentation en une étape, OpenTel...