Propagation du contexte

Présentation du concept permettant le traçage distribué.

La propagation du contexte permet de mettre en corrélation les signaux, quelle que soit leur origine. Bien qu’elle ne soit pas limitée au traçage, la propagation du contexte permet aux traces de créer des informations de causalité sur un système, même lorsque les services sont distribués de façon arbitraire à travers des limites de processus et de réseau.

Pour comprendre la propagation du contexte, vous devez maîtriser deux concepts distincts : le contexte et la propagation.

Contexte

Le contexte est un objet contenant les informations nécessaires pour que le service émetteur et le service récepteur, ou unité d’exécution, puissent mettre en corrélation un signal avec un autre.

Prenons l’exemple d’un service A qui appelle un service B. Un span du service A, dont l’ID est inclus dans le contexte, sera utilisé comme span parent pour le prochain span créé par le service B. De plus, l’ID de trace inclus dans le contexte sera également utilisé pour le prochain span créé dans le service B, ce qui signifie que ce span fera partie de la même trace que le span du service A.

Propagation

La propagation est le mécanisme permettant de transmettre le contexte entre services et processus. Elle sérialise et désérialise le contexte et fournit les informations nécessaires d’un service à l’autre.

La propagation étant généralement gérée automatiquement par les librairies d’instrumentation, le mécanisme est transparent pour l’utilisateur. Si pour une raison ou une autre, vous souhaitez propager le contexte manuellement, vous pouvez utiliser l’API des propagateurs.

Plusieurs propagateurs officiels sont maintenus par OpenTelemetry. Le propagateur par défaut utilise les en-têtes définies par la spécification W3C TraceContext.

Spécification

Pour plus d’informations, consultez la page Spécification du contexte.


Dernière modification January 23, 2025: [fr] Create context-propagation.md (#6026) (4350b1c5)