npm.io
2.9.0 • Published 1 week ago

@opentelemetry/context-async-hooks

Licence
Apache-2.0
Version
2.9.0
Deps
0
Size
52 kB
Vulns
0
Weekly
0
Stars
3.4K

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.

API

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.

Prior art

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

License

Apache 2.0 - See LICENSE for more information.

Keywords