If the overall application landscape that you want to observe with Sentry consists of more than just a single service or application, distributed
In the context of
When an error or performance issue occurs, it can be challenging to pinpoint the root cause due to the complexity of such a system. Distributed tracing helps you follow the path of an event as it travels through this intricate web, recording every step it takes. By examining these traces, you can reconstruct the sequence of events leading up to the event of interest, identify the specific components involved, and understand their interactions. This detailed visibility enables you to diagnose and resolve issues more effectively, ultimately improving the reliability and performance of your distributed system.
Here's an example showing a distributed trace in Sentry:
This distributed trace shows a Vue app's
pageload making a request to a Python backend, which then calls the
/api endpoint of a Ruby microservice.
What happens in the background is that Sentry uses reads and further propagates two HTTP headers between your applications:
If you use the current version of our Java SDK, distributed
If you use SDK version
6.24.x or below, you need to Set Up Performance monitoring for distributed tracing to work. If you do not want to use performance monitoring, you can instead set up Custom Instrumentation for distributed tracing.
Remember that in order to propagate trace information through your whole distributed system, you have to use Sentry in all of the involved services and applications. Take a look at the respective SDK documentation to learn how distributed