Tracing fields appear as part of the binary format in TChannel protocol specification. In addition to the protocol specification, we released several open-source client libraries that implement the protocol in different languages. One of the design principles for those libraries was to have the notion of a request context that the application was expected to pass through from the server endpoints
![Evolving Distributed Tracing at Uber Engineering](https://cdn-ak-scissors.b.st-hatena.com/image/square/ba3bdaa9050c7341ab978b6748bce87eb8032866/height=288;version=1;width=512/https%3A%2F%2Fblog.uber-cdn.com%2Fcdn-cgi%2Fimage%2Fwidth%3D1200%2Cheight%3D630%2Cquality%3D80%2Conerror%3Dredirect%2Cformat%3Dauto%2Fwp-content%2Fuploads%2F2017%2F02%2FDistributed_Tracing_Header_Facebook.png)