-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[async_hooks] stable API - tracking issue #124
Comments
/cc @nodejs/async_hooks @nodejs/diagnostics |
/cc @jasnell who sometimes asks me about this |
@AndreasMadsen how about adding some external criteria, like TC39 uses or N-API (nodejs/node#14532)
|
@refack added your 1. and 2. to the list. I'm not sure what you mean by TC39 uses. Regarding N-API I don't see why that should be a requirement. |
Thanks. I just referenced TC39 and N-API as processes that use exit criteria that are independent of the development process, but take into account ecosystem adoption. So I agree that stability of N-API and async_hooks are independent (except for the embedder API) |
FWIW, We plan to start using Async Hooks in Sqreen Agent in the upcomming weeks. |
Link by @watson for elastic: elastic/apm-agent-nodejs#77 |
PR to add async_hooks in Stackdriver Trace: googleapis/cloud-trace-nodejs#538 |
Updated "Deprecate setTriggerId" |
Added:
|
So based on discussion in the benchmarking WG meeting yesterday I did setup test cases to run the Promise heavy Bluebird and Wikipedia benchmarks (used by the V8 project) with and without @mhdawson suggested to kick-off some discussion on the performance via nodejs/benchmarking#188 and bubble up the issue to make sure we consider the performance aspect before |
FYI I added an item to list above to identify the perf impact we're willing to tolerate from async-hooks. Current benchmark data cited in nodejs/benchmarking#181 show a ~2x-3x slowdown. |
Any thoughts on if this will be coming out of Experimental before v10 launches? Looking at the remaining items I can't quite tell if there are still significant barriers because I'm not familiar enough with the subject 🤔 |
PR-URL: #31188 Refs: nodejs/diagnostics#124 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made. |
I figure this shouldn't go stale since it's a long-lived tracking issue? |
Hey team, sorry it has taken me so long to follow up. Last time we spoke I believe you asked me to experiment with the I have some thoughts and feedback on the API that it would be great to sync with you all on at some point (if you have time), but it would be good to know if there's anything further you'd like me to do to move this forward? |
@xadamy maybe you can plan to come ot the next diagnostics meeting and give the team a runthrough of your thoughts. |
closing in favor of #437 |
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
promise
object fromPromiseWrap
(PR: async_hooks: remove promise object from resource node#23443)MicrotaskWrap
" instead ofPromiseWrap
(issue: Proposal for reworking promise integration into async_hooks #389)async_hooks
and see that there is only a small measurable difference given our tolerance.runInAsyncIdScope
(issue: Remove async_hooks runInAsyncIdScope API node#14328, PR: async_hooks: deprecate undocumented API node#16972)setTriggerId
(issue: Remove async_hooks setTrigger API node#14238, PR: async_hooks: deprecate undocumented API node#16972)async_hooks
state validation in v9.x. (PR: async_hooks: enable runtime checks by default node#16318)MakeCallback
have anasync_context
.async_hooks
intoNAN
(issue: Integrate C++ AsyncHooks Embedder API with native abstraction node#13254).async_hooks
inton-api
(issue: Integrate C++ AsyncHooks Embedder API with native abstraction node#13254).Internal Non-Technical
triggerAsyncId
change will be asemver-major
,semver-minor
orsemver-patch
.External Non-Technical
async_hooks
(N/Solid, New Relic, Elastic APM)async_hooks
(https://www.npmjs.com/package/trace & https://www.npmjs.com/package/cls-hooked)After Stable
MakeCallback
withoutasync_context
(PR: src: deprecate legacy node::MakeCallback node#18632)The text was updated successfully, but these errors were encountered: