
This gives you the complete setup for distributed tracing with both Jaeger and Grafana Tempo, including OpenTelemetry instrumentation for Python, Node.js, and Go. It covers the Docker Compose and Kubernetes deployments, context propagation between services, and sampling strategies to manage trace volume. The code examples show how to add spans, set attributes, and handle errors across your microservices. I've used this exact setup to debug latency spikes in production where a single slow database query was cascading through six different services. The trace visualization makes it immediately obvious where your bottlenecks are hiding.
$ npx -y skills add wshobson/agents --skill distributed-tracing --agent claude-codeInstalls into .claude/skills of the current project.
Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.
Track requests across distributed systems to understand latency, dependencies, and failure points.
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
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')}
)
No traces appearing:
High latency overhead:
prometheus-configuration - For metricsgrafana-dashboards - For visualizationslo-implementation - For latency SLOsSponsors