Agent skill · software engineering · aiskillstore
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.
Why this skill is useful
Adds executable scripts for deploying Jaeger and Tempo with Kubernetes and Docker, which are not commonly found in public documentation.
What it needs
Requires docker, kubectl installed locally. About 4k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Distributed Tracing Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices. Purpose Track requests across distributed systems to understand latency, dependencies, and failure points. When to Use Debug latency issues Understand service dependencies Identify bottlenecks Trace error propagation Analyze request paths Distributed Tracing Concepts Trace Structure Key Components Trace - End-to-end request journey Span - Single operation within a trace Context - Metadata propagated between services Tags - Key-value pairs for filtering Logs - Timestamped events within a span Jaeger Setup Kubernetes Deployment Docker Compose Reference: See references/jaeger-setup.md Application Instrumentation OpenTelemetry (Recommended) Python (Flask) Node.js (Express) Go Reference: See references/instrumentation.md Context Propagation HTTP Headers Propagation in HTTP Requests Python Node.js Tempo Setup (Grafana) Kubernetes Deployment Reference: See assets/jaeger-config.yaml.template Sampling Strategies Probabilistic Sampling Rate Limiting Sampling Adaptive Sampling Trace Analysis Finding Slow Requests Jaeger Query: Finding Errors Jaeger Query: Service Dependency Graph Jaeger automatically generates service dependency graphs showing: Service relationships Request rates Error rates Average latencies Best Practices 1. Sample appropriately (1-10% in production) 2. Add meaningful tags (userid, requestid) 3. Propagate context across all service boundaries 4. Log exceptions in spans 5. Use consistent naming for operations 6. Monitor tracing overhead (<1% CPU impact) 7. Set up alerts for trace errors 8. Implement distributed context (baggage) 9. Use span events for important milestones 10. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/distributed-tracing--9a88c1