Distributed Tracing
DevOps 🔴 SeniorDefinition
Suivi d'une requête à travers tous les services d'un système distribué via un trace ID unique. Chaque service ajoute un span au trace.
Analogie
Le suivi d'un colis : chaque entrepôt (service) scanne le code-barres (trace ID) et ajoute une étape.
Exemple de code
// OpenTelemetry
const tracer = trace.getTracer('api');
app.use((req, res, next) => {
const span = tracer.startSpan('http.request');
span.setAttribute('http.method', req.method);
res.on('finish', () => span.end());
next();
});
Cas d'usage
Identifier quel service cause la latence dans une chaîne de 10 microservices.
Anti-pattern
Pas de trace ID propagé : impossible de corréler les logs entre services.