Productivity
distributed-tracing▌
aj-geddes/useful-ai-prompts · updated Apr 8, 2026
$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill distributed-tracing
summary
Set up distributed tracing infrastructure with Jaeger or Zipkin to track requests across microservices and identify performance bottlenecks.
skill.md
Distributed Tracing
Table of Contents
Overview
Set up distributed tracing infrastructure with Jaeger or Zipkin to track requests across microservices and identify performance bottlenecks.
When to Use
- Debugging microservice interactions
- Identifying performance bottlenecks
- Tracking request flows
- Analyzing service dependencies
- Root cause analysis
Quick Start
Minimal working example:
# docker-compose.yml
version: "3.8"
services:
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "5775:5775/udp"
- "6831:6831/udp"
- "16686:16686"
- "14268:14268"
networks:
- tracing
networks:
tracing:
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Jaeger Setup | Jaeger Setup, Node.js Jaeger Instrumentation |
| Express Tracing Middleware | Express Tracing Middleware |
| Python Jaeger Integration | Python Jaeger Integration |
| Distributed Context Propagation | Distributed Context Propagation |
| Zipkin Integration | Zipkin Integration, Trace Analysis |
Best Practices
✅ DO
- Sample appropriately for your traffic volume
- Propagate trace context across services
- Add meaningful span tags
- Log errors with spans
- Use consistent service naming
- Monitor trace latency
- Document trace format
- Keep instrumentation lightweight
❌ DON'T
- Sample 100% in production
- Skip trace context propagation
- Log sensitive data in spans
- Create excessive spans
- Ignore sampling configuration
- Use unbounded cardinality tags
- Deploy without testing collection