Distributed Tracing

DevOps 🔴 Senior

Definition

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.

Termes lies

#devops#monitoring#interview