It's a lot harder connecting the dots of the request lifecycle when the final response is built from a number of separate microservices. However, distributed tracing - which connects a transaction trace across microservices - is getting a lot easier. In this short tutorial, I'll show how to add distributed tracing to your Sinatra web apps via OpenTracing, a vendor-neutral tracing API, and Jaeger,
![Tutorial: Distributed Tracing in Ruby with OpenTracing | Scout APM Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/1f77242396426bc2b9a6decd2cb00ade50af0842/height=288;version=1;width=512/https%3A%2F%2Fassets.scoutapm.com%2Fassets%2Fscout_apm-80cb3033ec7a799bffffd677158338bfd445efd989380fa219f3c02fb9fdf90f.png)