Skip to Main Content
Mastering Distributed Tracing
book

Mastering Distributed Tracing

by Yuri Shkuro
February 2019
Intermediate to advanced content levelIntermediate to advanced
444 pages
11h 36m
English
Packt Publishing
Content preview from Mastering Distributed Tracing

Instrumenting asynchronous code

Using messaging between services is not the only way to implement asynchronous applications. Sometimes, the code within a single service is asynchronous. In environments like Node.js, it is the standard way of writing code and requires a different style of in-process context propagation.

In Java, the asynchronous code is often written with the use of futures and executors. In our Tracing Talk application, we have already used those APIs, only in the synchronous manner. For example, the KafkaService.sendMessage() method calls the send() function, which returns ListenableFuture, a sign of the asynchronous API. We turn it back to synchronous by calling get() and blocking until it is completed:

public void sendMessage(Message ...
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.
Start your free trial

You might also like

Distributed Tracing in Practice

Distributed Tracing in Practice

Austin Parker, Daniel Spoonhower, Jonathan Mace, Ben Sigelman, Rebecca Isaacs
Kafka: The Definitive Guide, 2nd Edition

Kafka: The Definitive Guide, 2nd Edition

Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty

Publisher Resources

ISBN: 9781788628464Supplemental Content