correlation-id-tracking

Manage correlation-id propagation in Node.js/TypeScript apps using AsyncLocalStorage.

12|6|Updated Jan 26, 2026
One-click install
npx skills add https://github.com/whitebeardit/.cursor --skill correlation-id-tracking
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: correlation-id-tracking
Source: https://github.com/whitebeardit/.cursor/tree/main/skills/nodejs/skill-correlation-id-tracking
Command: npx skills add https://github.com/whitebeardit/.cursor --skill correlation-id-tracking

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill solves the challenge of tracking requests and understanding their flow through complex, asynchronous Node.js applications, especially in distributed systems.

Core Features & Use Cases

  • Async Context Preservation: Uses AsyncLocalStorage to maintain a unique correlation ID across asynchronous operations.
  • Automatic Propagation: Seamlessly injects the correlation ID into HTTP request headers for outgoing requests (e.g., via Axios or Fetch).
  • Logging Integration: Ensures every log message includes the correlation ID, enabling easy debugging and tracing.
  • Use Case: When a user makes a request to your API, a unique ID is generated and attached to all subsequent logs, database queries, and outgoing service calls related to that request. If an error occurs, you can instantly find all related logs using this ID.

Quick Start

Integrate the correlation ID middleware into your Express.js application by adding app.use(correlationIdMiddleware); as the first middleware.

Frequently Asked Questions about correlation-id-tracking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I track a correlation ID across asynchronous Node.js operations?

You can track a correlation ID across asynchronous Node.js operations by utilizing AsyncLocalStorage to maintain robust async context isolation. This ensures the unique ID persists seamlessly through your HTTP requests, service calls, and logging outputs.

How do I propagate a correlation ID through outgoing Axios requests in Express?

Propagating a correlation ID through outgoing Axios requests in Express is handled automatically by injecting the ID into HTTP request headers. This ensures consistent tracing across your microservices and monolithic applications during service calls.

How do I include a correlation ID in Winston or Pino logging output?

Including a correlation ID in Winston or Pino logging output requires integrating the async context middleware into your logger configuration. This ensures every log message generated during an HTTP request contains the active tracing ID for debugging.

Does this correlation ID tracking approach work for both microservices and monolithic applications?

Yes, correlation ID tracking works for both microservices and monolithic Node.js applications. It facilitates debugging and tracing by ensuring consistent IDs across HTTP requests, outgoing service calls, and logging in any distributed or single-process architecture.

How do I set up correlation ID middleware in an Express.js application?

To set up correlation ID middleware in an Express.js application, add the middleware as the first middleware layer using app.use. This generates a unique ID for incoming requests and attaches it to all subsequent logs, database queries, and outgoing calls.

Why does my correlation ID get lost during async service calls in Node.js?

A correlation ID gets lost during async service calls in Node.js when async context is not properly preserved. Using AsyncLocalStorage prevents this loss by maintaining a unique execution context across asynchronous boundaries and outgoing HTTP requests.