D
distributed-tracing
Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
How to use
- Zainstaluj Jaegera w swoim środowisku — wybierz Kubernetes z operatorem Jaegera (kubectl create namespace observability, następnie kubectl create -f releases jaegera v1.51.0) lub Docker Compose z obrazem jaegertracing/all-in-one:latest. W Kubernetes skonfiguruj instancję Jaegera z backendem Elasticsearch, w Docker Compose uruchom kontener z portami UDP (5775, 6831, 6832) i interfejsem UI na porcie 16686.
- Skonfiguruj instrumentację w swoich mikrousługach — dodaj bibliotekę klienta Jaegera (np. jaeger-client dla Pythona, Node.js lub Java) i ustaw punkt końcowy agenta na adres Jaegera (domyślnie localhost:6831 lub odpowiedni host w klastrze).
- Wdróż zmienione usługi i wyślij testowe żądania przez system — każde żądanie zostanie automatycznie podzielone na spany (operacje) w każdej usłudze na ścieżce.
- Otwórz interfejs Jaegera (port 16686) i wyszukaj ślady po ID żądania lub nazwie serwisu — zobaczysz pełną mapę zależności, czasy wykonania każdego spanu i hierarchię operacji.
- Analizuj wyniki — zidentyfikuj wąskie gardła (spany z najdłuższym czasem), ścieżki błędów (spany ze statusem error) i nieoczekiwane zależności między serwisami. Dodaj tagi i logi do spanów dla lepszej diagnostyki.