Summary
In this chapter, we covered the more advanced topic of tracing instrumentation for asynchronous applications. Using Apache Kafka as an example of asynchronous communication between services, we discussed how tracing context can be propagated through messaging infrastructure, and how producer and consumer spans are created at both ends of the message bus. We finished off with a discussion about instrumenting applications that use asynchronous programming in-process, such as futures and executors in Java. While the instrumentation itself was OpenTracing-specific, the principles of instrumenting asynchronous applications were general and applicable to any tracing API built around the span model.
Most of the instrumentation we used in this ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access