distributed-tracing
Implement Distributed Tracing with Jaeger and Tempo
Debugging microservices is difficult without visibility into request flows across services. This skill helps you implement distributed tracing with Jaeger and Tempo to track requests, identify bottlenecks, and understand service dependencies.
Download the skill ZIP
Upload in Claude
Go to Settings → Capabilities → Skills → Upload skill
Toggle on and start using
Test it
Using "distributed-tracing". Help me deploy Jaeger on Kubernetes
Expected outcome:
I will help you deploy Jaeger on Kubernetes using the Jaeger Operator. First, I will create the observability namespace and deploy the operator. Then I will configure a production Jaeger instance with Elasticsearch storage and enable ingress for the UI.
Using "distributed-tracing". Add tracing to my Flask application
Expected outcome:
I will instrument your Flask application with OpenTelemetry. I will install the required packages, initialize the tracer provider with Jaeger exporter, and add automatic Flask instrumentation. I will also show you how to create custom spans for database queries.
Using "distributed-tracing". Configure sampling to trace only errors
Expected outcome:
I will set up a custom sampler that traces all requests with errors while sampling only 1 percent of successful requests. This approach captures all failures for debugging while minimizing overhead from normal operations.
Security Audit
SafeStatic analyzer detected 65 potential security patterns including C2 keywords, weak crypto, and external commands. Manual review confirms all findings are false positives - patterns appear in legitimate documentation and code examples for distributed tracing infrastructure deployment. No security risks identified.
Risk Factors
⚡ Contains scripts (3)
🌐 Network access (10)
⚙️ External commands (40)
Quality Score
What You Can Build
Debug Microservice Latency Issues
Deploy Jaeger tracing and instrument your Python Flask services to identify which downstream calls are causing slow API responses.
Map Service Dependencies
Set up distributed tracing across your Node.js microservices to visualize service dependency graphs and understand request flow patterns.
Implement Production Observability
Configure Tempo with Grafana and implement sampling strategies to track traces in production without performance overhead.
Try These Prompts
Help me deploy Jaeger on my Kubernetes cluster with Elasticsearch storage
Add OpenTelemetry instrumentation to my Flask API to send traces to Jaeger
Show me how to propagate trace context when my Node.js service calls downstream APIs
Help me configure adaptive sampling for my production Go services to reduce tracing overhead while capturing errors
Best Practices
- Use sampling rates between 1 and 10 percent in production to minimize performance overhead
- Add meaningful tags like user ID and request ID to spans for easier filtering and analysis
- Propagate trace context across all service boundaries including message queues and async jobs
Avoid
- Tracing 100 percent of production traffic without sampling leads to high storage costs and performance impact
- Creating too many spans for fine-grained operations adds overhead without useful insights
- Storing sensitive data like passwords or API keys in span tags violates security best practices