Tracing
So far, we have covered two common types of observability data – logs and metrics. Having logs and metrics data in place is often sufficient for service debugging and troubleshooting. However, there is another type of data that is useful for getting insights into microservice communication and data flows.
In this section, we are going to discuss distributed tracing – a technique that involves recording and analyzing interactions between different services and service components. The main idea behind distributed tracing is to automatically record all such interactions and provide a convenient way to visualize them. Let’s look at the following example, which illustrates a distributed tracing use case known as call analysis:
Figure 11.2 – Tracing visualization example
Here, you can see the execution of a single GetMovieDetails
request for our movie service. The data provides some insights into the operation’s execution...