Correlation & Distributed Tracing

SkillMonitoring & ops

Implement distributed tracing with correlation IDs, trace propagation, and span tracking across microservices. Use when debugging distributed systems, monitoring request flows, or implementing observability.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Correlation & Distributed Tracing skill

What this skill tells your AI

The instructions your AI receives, as published by aj-geddes/useful-ai-prompts in skills/correlation-tracing/SKILL.md and read by ahel’s review.

Table of Contents

  • Overview
  • When to Use
  • Quick Start
  • Reference Guides
  • Best Practices

Overview

Implement correlation IDs and distributed tracing to track requests across multiple services and understand system behavior.

When to Use

  • Microservices architectures
  • Debugging distributed systems
  • Performance monitoring
  • Request flow visualization
  • Error tracking across services
  • Dependency analysis
  • Latency optimization

Quick Start

Minimal working example:

import express from "express";
import { v4 as uuidv4 } from "uuid";

// Async local storage for context
import { AsyncLocalStorage } from "async_hooks";

const traceContext = new AsyncLocalStorage<Map<string, any>>();

interface TraceContext {
  traceId: string;
  spanId: string;
  parentSpanId?: string;
  serviceName: string;
}

function correlationMiddleware(serviceName: string) {
  return (
    req: express.Request,
    res: express.Response,
    next: express.NextFunction,
  ) => {
    // Extract or generate trace ID
    const traceId = (req.headers["x-trace-id"] as string) || uuidv4();
    const parentSpanId = req.headers["x-span-id"] as string;
    const spanId = uuidv4();
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Correlation ID Middleware (Express)Correlation ID Middleware (Express)
OpenTelemetry IntegrationOpenTelemetry Integration
Python Distributed TracingPython Distributed Tracing
Manual Trace PropagationManual Trace Propagation

Best Practices

✅ DO

  • Generate trace IDs at entry points
  • Propagate trace context across services
  • Include correlation IDs in logs
  • Use structured logging
  • Set appropriate span attributes
  • Sample traces in high-traffic systems
  • Monitor trace collection overhead
  • Implement context propagation

❌ DON'T

  • Skip trace propagation
  • Log without correlation context
  • Create too many spans
  • Store sensitive data in spans
  • Block on trace reporting
  • Forget error tracking

Signals

GitHub stars
336
Forks
55
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
correlation-tracing
Source
github.com/aj-geddes/useful-ai-prompts