Chapter 14. The Future of Context Propagation

In this chapter, we’re going to home in on context propagation, a powerful mechanism for many different use cases beyond just profiling, debugging, and monitoring. We’ll refer to this wider class of tools as cross-cutting tools—tools designed for distributed architectures. Distributed tracing, Census, Pivot Tracing, and Pythia are all examples of cross-cutting tools. But, cross-cutting tools don’t need to be about tracing specifically, nor about recording trace data.

We’ll wrap up by taking a look at the Tracing Plane, a 2018 research project from Brown University.1

The goal of the Tracing Plane is to abstract and generalize the context propagation used by cross-cutting tools. In Chapters 4 and 5, we talked about the importance of abstract instrumentation and interoperability for distributed tracing. Many of these concerns also apply directly to context propagation too. The Tracing Plane project identifies some of the design considerations for context propagation, and proposes a general solution called BaggageContexts. In the future, some of these concepts may materialize as components of our distributed tracing tools.

Cross-Cutting Tools

The goal of distributed tracing is to correlate and integrate data across different components and machines. Distributed traces are used for offline analysis—to analyze trace data long after it’s been recorded. Distributed tracing has a distinct division between the application-side components of ...

Get Distributed Tracing in Practice now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.