Repository navigation
[async_hooks] tracking issue #29
Description
Activity
Nice, thanks for putting this together! 😸
Added:
- no good way for native modules to integrate with AsyncWrap (PR: async_wrap: make native API public node#3504)
- add unique id (PR: AsyncWrap external API improvements node#3461)
@trevnorris could you add a link to the Promises issue in v8.
@AndreasMadsen Sorry. Forgot about this. Here's the link: https://bugs.chromium.org/p/v8/issues/detail?id=4643
AddingNoting nodejs/node#4416 here.updates:
work is being done on:
- HTTP sockets
parserOnBody(PR: Fix async wrap http node#4509, depends on: src: fix MakeCallback error handling node#4507)
new:
- add unique id to all hooks: (PR: async_wrap: add uid argument to all asyncWrap hooks node#4600)
- HTTP sockets
Note: Getting MakeCallback reentrant, which is necessary to fix some issue with AsyncWrap, has been a bit of a pain. Hopefully will be able to finish it this week.
MakeCallback is now reentrant, and working on a few other improvements for an EnterpriseJS talk today. I'll throw them up in a PR later this week.
Updated with PR: nodejs/node#8531 and EP: nodejs/node-eps#18
The current status is that Promises and addon integration is still a todo. The Addon integration solution is documented in nodejs/node-eps#18, but not yet implemented.
@trevnorris can you share an update?
- changed the title
[-]AsyncWrap issues - overview[/-][+][async_hooks] tracking issue[/+]on Feb 23, 2017 IMHO, it would be great if
async_hookswere callingV8Inspector::asyncTask*to notify the built-in inspector (debugger) about async boundaries, allowing the inspector to show long (async) stack traces in the UI. See nodejs/node#11370async_hookshave landed as an undocumented API. Documentation will be added soon, see: nodejs/node#12953I have updated the tracking issue to reflect this.
Reacted by Sveinung Tord Røsaker, Thomas Watson and Jeff LewisGreat news! But does the fact that Promises/Microtask is not ticked off on OP indicate this isn't working yet?
@overlookmotel Yes, Promises will come in another PR soon. It was excluded from nodejs/node#12953 because it was already quite big and we wanted to land it before we got more merge conflicts.
Reacted by Sveinung Tord Røsaker, Jeff Lewis and overlookmotelAdded this
n-API addon modules integration with AsyncWrap (EP: nodejs/node-eps#18, PR: someone needs to be assigned).as we need to cover both NaN and N-API
@overlookmotel Check out nodejs/node#13000
Reacted by overlookmotelThe C++ Embedder API is in progress, added a PR reference: nodejs/node#13142
updated promise support status and added: "
exitandbeforeExithas no context" which we will likely address post node v.8.xC++ Embedder API has been implemented and merged. I've created an issue for integrating it with NAN and N-API.
Closing this issue. I will create a new one for how we are going to bring
async_hooksinto stable.
Missing Handle context
parserOnBodyMakeCallbacknode#5419 and src,http: fix uncaughtException miss in http node#5591,depends on: src: fix MakeCallback error handling node#4507node issue: AsyncWrap promises#9v8 issue: https://bugs.chromium.org/p/v8/issues/detail?id=4643exitandbeforeExithas no contextemitDestroydoesn't emitdestroyupon process termination (issue: Questions: async_hooks destroy callback vs setImmediate node#13262, PR: async_hooks: run destroy callbacks before normal exit node#13286)More events
onready (issue: async_wrap: when is callback ready to be called #11) - unlikely to be solved. As of now, not part ofasync_hooksAPI.onerror (issue: async-wrap: no way to catch errors without changing the throw origin node#669, async_wrap: error handling #7) - awaiting use cases. As of now, not part ofasync_hooksAPI.API
process.bindingis being deprecated by node: deprecate public access toprocess.bindingnode#2768 (issue: missing, PR: Async Hooks - Initial Implementation node#12892)setupHookscalls. (issue: Multiple users of asyncWrap in a single application? #40, PR: Async Hooks - Initial Implementation node#12892)Documentation
async_hooksAPI. (PR: docs: documenting async hooks features node#13287)If something is missing just edit this. But add a comment so we can keep the history.