Propagation du contexte
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.
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!