Implement distributed tracing with correlation IDs, trace propagation, and span tracking across microservices. Use when debugging distributed systems, monitoring request flows, or implementing observability.
3f5182cImplement correlation IDs and distributed tracing to track requests across multiple services and understand system behavior.
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)
Detailed implementations in the references/ directory:
| Guide | Contents | |---|---| | Correlation ID Middleware (Express) | Correlation ID Middleware (Express) | | OpenTelemetry Integration | OpenTelemetry Integration | | Python Distributed Tracing | Python Distributed Tracing | | Manual Trace Propagation | Manual Trace Propagation |
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/correlation-tracing · pinned to the source commit
# Run from your project root
git clone https://github.com/aj-geddes/useful-ai-prompts.git .skillboard-tmp
git -C .skillboard-tmp checkout 3f5182cfd739fc113f4af5244a1cf342ad7f7911
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/correlation-tracing" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/aj-geddes/useful-ai-prompts.git .skillboard-tmp
git -C .skillboard-tmp checkout 3f5182cfd739fc113f4af5244a1cf342ad7f7911
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/correlation-tracing" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/correlation-tracing
Scanner static-checks@0.1.0 · commit 3f5182cfd739. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.