-
-
Notifications
You must be signed in to change notification settings - Fork 70
Closed
Description
I posted requirements list for getting async_hooks into stable a while ago (nodejs/node#14717 (comment)). This is a very similar list.
Internal Technical
- Clarify breaking changes necessary for better performance (issue: Performance impact of async_hooks benchmarking#181)
- Remove
promiseobject fromPromiseWrap(PR: async_hooks: remove promise object from resource node#23443) - Use a "
MicrotaskWrap" instead ofPromiseWrap(issue: Proposal for reworking promise integration into async_hooks #389)
- Remove
- Setting up the benchmark suite to be run with and without
async_hooksand see that there is only a small measurable difference given our tolerance. - Deprecate
runInAsyncIdScope(issue: Remove async_hooks runInAsyncIdScope API node#14328, PR: async_hooks: deprecate undocumented API node#16972) - Deprecate
setTriggerId(issue: Remove async_hooks setTrigger API node#14238, PR: async_hooks: deprecate undocumented API node#16972)- Implement internal replacement that we can optionally expose (PR: Refactor async_hooks initTriggerId node#17273)
- Deprecate Sensitive Embedder API (issue: Remove async_hooks Sensitive/low-level Embedder API node#15572, PR: async_hooks: deprecate undocumented API node#16972)
- Separate internal API from the external API (PR: async_hooks: deprecate undocumented API node#16972).
- Remove deprecated API (PR: async_hooks: remove deprecated API node#17147).
- Opt-out
async_hooksstate validation in v9.x. (PR: async_hooks: enable runtime checks by default node#16318) - Make sure all nodecore uses of
MakeCallbackhave anasync_context. - Integrate
async_hooksintoNAN(issue: Integrate C++ AsyncHooks Embedder API with native abstraction node#13254). - Integrate
async_hooksinton-api(issue: Integrate C++ AsyncHooks Embedder API with native abstraction node#13254).
Internal Non-Technical
- Specify whether a
triggerAsyncIdchange will be asemver-major,semver-minororsemver-patch. - Identify "tolerance level" of perf impact of async-hooks, especailly regarding promises.
- Is Async Hooks exposing the right logical model? (issue: How to deal with ambgious contexts for promise then callbacks #143)
External Non-Technical
- major APM vendor that uses
async_hooks(N/Solid, New Relic, Elastic APM) - npm modules with at least 5000 DL/month based on
async_hooks(https://www.npmjs.com/package/trace & https://www.npmjs.com/package/cls-hooked)
After Stable
- Deprecate
MakeCallbackwithoutasync_context(PR: src: deprecate legacy node::MakeCallback node#18632)
refack, vdeturckheim, Jeff-Lewis, bnb, ulrichb and 3 more