Understanding data paths through infrastructure

Especially applicable to microservice architectures


Transaction: end-to-end request-response flow

Trace: record of a transaction (same trace ID)

Span: connection between two services

Tracing in Software Development

Instrumentation required

Libraries available for multiple languages

Additional dependencies and code

OpenTracing is the defacto standard with many supported tracers

Service Mesh

Usually includes (distributed) tracing

Proxy injection provides information about spans

Header propagation usually requires code change

(What is a service mesh and which are available?)

Tracing in Operations

Little to no advantages from service meshes

Networking topology

More features from CNI vendors