Implement distributed tracing with Jaeger and Tempo to track

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…
--- name: distributed-tracing description: 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. --- # 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
Overview
Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.
Manual install (npx, ZIP)
npx skills add wshobson/agents --skill distributed-tracing -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/wshobson/agents/tar.gz/4236bb91f839 \
| tar -xz -C ~/.claude/skills --strip-components=4 agents-4236bb91f839/plugins/observability-monitoring/skills/distributed-tracingNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/801d5fb4f267fb908f83/distributed-tracing.zip" -OutFile "$env:TEMP\distributed-tracing.zip"; Expand-Archive "$env:TEMP\distributed-tracing.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md2.1 KBreferences/1 file · 8.0 KB
Read the files here
Show the full text80 lines
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
Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
- Sample appropriately (1-10% in production)
- Add meaningful tags (user_id, request_id)
- Propagate context across all service boundaries
- Log exceptions in spans
- Use consistent naming for operations
- Monitor tracing overhead (<1% CPU impact)
- Set up alerts for trace errors
- Implement distributed context (baggage)
- Use span events for important milestones
- Document instrumentation standards
Integration with Logging
Correlated Logs
import logging
from opentelemetry import trace
logger = logging.getLogger(__name__)
def process_request():
span = trace.get_current_span()
trace_id = span.get_span_context().trace_id
logger.info(
"Processing request",
extra={"trace_id": format(trace_id, '032x')}
)
Troubleshooting
No traces appearing:
- Check collector endpoint
- Verify network connectivity
- Check sampling configuration
- Review application logs
High latency overhead:
- Reduce sampling rate
- Use batch span processor
- Check exporter configuration
Related Skills
prometheus-configuration- For metricsgrafana-dashboards- For visualizationslo-implementation- For latency SLOs
| 1 | |
| 2 | name distributed-tracing |
| 3 | description 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. |
| 4 | |
| 5 | |
| 6 | # Distributed Tracing |
| 7 | |
| 8 | Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices. |
| 9 | |
| 10 | ## Purpose |
| 11 | |
| 12 | Track requests across distributed systems to understand latency, dependencies, and failure points. |
| 13 | |
| 14 | ## When to Use |
| 15 | |
| 16 | Debug latency issues |
| 17 | Understand service dependencies |
| 18 | Identify bottlenecks |
| 19 | Trace error propagation |
| 20 | Analyze request paths |
| 21 | |
| 22 | ## Detailed patterns and worked examples |
| 23 | |
| 24 | Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient. |
| 25 | |
| 26 | ## Best Practices |
| 27 | |
| 28 | **Sample appropriately** (1-10% in production) |
| 29 | **Add meaningful tags** (user_id, request_id) |
| 30 | **Propagate context** across all service boundaries |
| 31 | **Log exceptions** in spans |
| 32 | **Use consistent naming** for operations |
| 33 | **Monitor tracing overhead** (<1% CPU impact) |
| 34 | **Set up alerts** for trace errors |
| 35 | **Implement distributed context** (baggage) |
| 36 | **Use span events** for important milestones |
| 37 | **Document instrumentation** standards |
| 38 | |
| 39 | ## Integration with Logging |
| 40 | |
| 41 | ### Correlated Logs |
| 42 | |
| 43 | |
| 44 | import logging |
| 45 | from opentelemetry import trace |
| 46 | |
| 47 | logger = logging.getLogger(__name__) |
| 48 | |
| 49 | def process_request(): |
| 50 | span = trace.get_current_span() |
| 51 | trace_id = span.get_span_context().trace_id |
| 52 | |
| 53 | logger.info( |
| 54 | "Processing request", |
| 55 | extra={"trace_id": format(trace_id, '032x')} |
| 56 | ) |
| 57 | |
| 58 | |
| 59 | ## Troubleshooting |
| 60 | |
| 61 | **No traces appearing:** |
| 62 | |
| 63 | Check collector endpoint |
| 64 | Verify network connectivity |
| 65 | Check sampling configuration |
| 66 | Review application logs |
| 67 | |
| 68 | **High latency overhead:** |
| 69 | |
| 70 | Reduce sampling rate |
| 71 | Use batch span processor |
| 72 | Check exporter configuration |
| 73 | |
| 74 | |
| 75 | ## Related Skills |
| 76 | |
| 77 | `prometheus-configuration` - For metrics |
| 78 | `grafana-dashboards` - For visualization |
| 79 | `slo-implementation` - For latency SLOs |
| 80 |
Details
- Updated
- Sep 21, 2026
- License
- MIT
- Stars on the repo
- ★ 39,857
- Checked
- Source
- wshobson/agents ↗
- Creator
- wshobson · 179 listings
Similar skills
See all →
SkillDiagnose why a specific ad creative is winning or losingCreative performance analysis
PromptAct as a professional full-stack developer taskedProfessional Full-Stack Developer for Network Mapping & Monitoring Application
SkillEstablishes a project's quality bar as a written contractConstraint driven development
SkillInstruments code so production behavior is visibleObservability and instrumentation
SkillOptimizes application performance across frontend, backendPerformance optimization
SkillDiscovers and invokes agent skillsUsing agent skillsMore from wshobson
SkillMaster C/.NET backend development patterns for building
SkillImplement WCAG 2.2 compliant interfaces with mobileAccessibility compliance
SkillMaster Material Design 3 and Jetpack Compose patternsAndroid Mobile Design
SkillMigrate from AngularJS to Angular using hybrid modeAngular migration
SkillUnderstand anti-reversing, obfuscationAnti reversing techniques
SkillBuild production Apache Airflow DAGs with best practicesApache Airflow DAG Patterns