Distributed Tracing

Introduction

  • It is a technique used in software systems to monitor and analyze the flow of requests as they propagate through a distributed or micro services architecture. It provides visibility into the path and timing of requests across various components and services involved in processing a single user request.

  • Each service or component involved in request processing is instrumented with tracing code. This code generates and propagates a unique identifier, often called a trace or span ID, along with the request. The tracing code also records timing information, such as the start and end timestamps of each operation. They associate its operations with the same trace with HTTP headers

  • Each trace id is corresponding to one event. One event can include different spans which stands for different services involved

System Design

  • It is needed to install Application Performance Monitoring (APM) tool agent , such as: open telemetry , sentry, ... into different applications

  • Choose a exporter to export the tracing to the storage , e.g: open telemetry collector to export to the elastic search

  • Observe the data via UI

References

Last updated

Was this helpful?