![simairport baggage routing blog simairport baggage routing blog](https://pbs.twimg.com/media/C-rPB-SXgAETOkk.jpg)
The W3C Trace Context specification describes semantics of the distributed trace context and its format. With the upcoming transition of W3C Trace Context specification into Proposed Recommendation maturity level, and support of this specification by many vendors and platforms, the complexity of the context propagation is decreasing.
Simairport baggage routing blog code#
APM vendors provided automatic code injection agents and SDKs to handle complexity of understanding various distributed context formats and RPC protocols. Due to heterogeneous nature of many environments, with components owned by different teams and using different tools for monitoring, it was always hard to instrument distributed apps consistently. Telemetry is correlated using this context. Historically, Application Performance Monitoring (APM) vendors provided the functionality of distributed trace context propagation from one component to another. But it is hard to know which request in once component and request in other component belong to the same distributed trace. Looking at logs you can see how each component processed each request. One big difference of distributed apps comparing to monoliths is a difficulty to correlate telemetry (like logs) across a single distributed trace. If your customer experiences a problem – pinpointing the root cause in one of components participated in a distributed trace is a hard task. Every interaction with an app results in distributed trace of code executions across many components. These components may be owned and operated by different teams.
![simairport baggage routing blog simairport baggage routing blog](https://media.moddb.com/images/games/1/58/57599/cTxC3Sz.png)
Distributed apps typically consists of multiple components. Thank you David Fowler and Richard Lander for reviews.