Module @opentelemetry/context-async-hooks

OpenTelemetry async_hooks-based Context Managers

NPM Published Version Apache License

This package provides two ContextManager implementations built on APIs from Node.js's [async_hooks][async-hooks-doc] module. If you're looking for a ContextManager to use in browser environments, consider opentelemetry-context-zone or opentelemetry-context-zone-peer-dep.

See the definition of the ContextManager interface and the problem it solves.

Two ContextManager implementations are exported:

  • AsyncLocalStorageContextManager, based on AsyncLocalStorage
  • AsyncHooksContextManager, based on AsyncHook. This is deprecated and will be removed in v3 (planned for mid-2025. AsyncLocalStorage is simpler, faster, available in Node.js v14.8.0 and later, and avoids this possible DoS vulnerability.

Context propagation is a big subject when talking about tracing in Node.js. If you want more information about it here are some resources:

Apache 2.0 - See LICENSE for more information.

Classes

AsyncHooksContextManager
AsyncLocalStorageContextManager