Chapter 5. Deploying Tracing
Understanding how to instrument code so that your application generates quality telemetry is no small feat, so congratulations on making it this far! However, that telemetry won’t amount to much without the rest of a tracing deployment to consume those spans and use them to provide value to you and other developers. We’ll spend this and the following chapter looking underneath the hood of tracers and consider some of the common components in those implementations as well as some of the trade-offs required. While not many readers are likely to be considering building new tracing solutions from scratch, a high-level understanding of what’s going on will help you to choose the best tracer for your organization and to maximize the value that it can bring.
Distributed tracing can offer a lot to organizations where individual teams work independently. Tracing problems across the many layers of your application helps you quickly identify which service is the performance bottleneck or is responsible for a regression. However, this independence can also be an obstacle to getting started with distributed tracing: if you’re responsible for deploying tracing across your organization, you’ll need to get these teams to work together.
You’ll get the most value from tracing if it’s deployed consistently across your organization and your application. However, you’ll face two sets of challenges in doing so. First, you need to overcome some organizational barriers: getting ...