Table of Contents

About

tracing in a distributed world.

Implementation

Thread local storage

Instrumenting asynchronous application for distributed tracing is quite challenging because most tracing libraries rely on thread local storage (Storage that is local the thread). While it works reasonably well in a blocking application (one thread), this does not work for an asynchronous application.

This implementation supposes that:

  • the application control flow matters (i.e threads)
  • although what really matters is the application request flow (e.g the incoming HTTP request).

Library