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