← ClaudeAtlas

tracing-setuplisted

Mise en place du tracing distribué avec OpenTelemetry, propagation du contexte W3C traceparent, nommage et découpage des spans, attributs, gestion des erreurs, échantillonnage head et tail, corrélation avec les logs et les métriques. Se déclenche avec "trace", "tracing", "traces distribuées", "OpenTelemetry", "OTel", "span", "traceparent", "trace_id", "échantillonnage", "sampling", "Jaeger", "Tempo", "latence entre services", "observabilité".
WhiteMuush/Your-Claude-DevOps · ★ 2 · DevOps & Infrastructure · score 65
Install: claude install-skill WhiteMuush/Your-Claude-DevOps
# Tracing distribué ## Ce que ce skill n'enseigne pas Déployer un collecteur OpenTelemetry, configurer un backend Jaeger ou Tempo, lire une cascade dans une interface : ce sont des tâches d'outillage bien documentées. Ici on décide **ce qu'on trace, comment on le nomme et ce qu'on garde**. La règle de base : **le tracing répond à "où le temps est parti", pas à "combien" ni à "quoi exactement".** Ces deux questions appartiennent à `metrics-setup` et `logging-setup`. ## La propagation d'abord, tout le reste ensuite **Une trace interrompue ne vaut rien.** Un span orphelin est pire qu'une absence de trace : il donne l'illusion d'une couverture. C'est le seul point à valider avant d'investir dans le nommage ou les attributs. Le contexte voyage dans l'en-tête **W3C `traceparent`** (format standard, à préférer aux formats propriétaires). Il doit traverser : | Frontière | Point de vigilance | |---|---| | Appel HTTP sortant | Le client instrumenté injecte l'en-tête. Un client construit à la main ne le fait pas | | Message en file | Le contexte se met dans les **en-têtes du message**, pas dans son corps métier | | Job asynchrone ou batch | Le contexte du producteur doit être sérialisé avec la tâche, sinon la trace s'arrête à l'enqueue | | Passerelle, proxy, load balancer | Vérifier que l'en-tête est transmis et non filtré | | Frontière d'équipe ou de prestataire | Se mettre d'accord sur le format en amont, pas après | Test de validation : prendre un `trace_id` réel et vérifier