async_hooks: for promises is PromiseWrap::parentId actually useful?
On PromiseWrap objects we expose a parentId property:
| promise_wrap_template->SetAccessor( | |
| FIXED_ONE_BYTE_STRING(env->isolate(), "parentId"), | |
| PromiseWrap::getParentAsyncId); |
.
The semantics of the property are:
- If the promise has a parent promise, parentId will be the asyncId of the parent promise. By definition, and by implementation,
parentIdmust match thetriggerAsyncIdavailable in theInithook, as the parent promise is the trigger (cause) of the child async resource (promise) to be created. TheparentIdis redundant information in this case. - The only case where
parentIdwould be different fromtriggerAsyncIdis when a promise has no parent. In this case theparentIdwill beundefinedand thetriggerAsyncIdwould correspond to the current execution id.
It seems the only information that parentId provides is whether or not (i.e boolean) the promise has a parent.
Is there something more subtle here that I might be missing? I'd like to go ahead and document that if that's the case.
/cc @nodejs/diagnostics @nodejs/async_hooks