Agent Skills: Distributed Tracing

Implement distributed tracing with Jaeger and Zipkin for tracking requests across microservices. Use when debugging distributed systems, tracking request flows, or analyzing service performance.

UncategorizedID: aj-geddes/useful-ai-prompts/distributed-tracing

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aj-geddes/useful-ai-prompts/tree/HEAD/skills/distributed-tracing

Skill Files

Browse the full folder contents for distributed-tracing.

Download Skill

Loading file tree…

skills/distributed-tracing/SKILL.md

Skill Metadata

Name
distributed-tracing
Description
>

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