Monitoring and understanding failures in monoliths or small systems starts with looking at a single component in isolation. Multi-service architecture invalidates this assumption because end-user requests now traverse dozens of components. Looking at a service in isolation simply does not give you enough information: each is just one side of a bigger story.
Distributed Tracing summarizes all sides of the story into a shared timeline. Distributed Tracing tools place the bright spot over the relationship between components from the very top of the stack to the deepest component in the system which gives the feeling of working with a single system, while working in distributed environments.
In this talk we will look at how distributed tracing works, what you can use it for and have a look at how tools like Zipkin solve these problems.