async-listener is important module for APM tools and for long
stack traces. Promises make the concept of a long-stack-trace ambiguous
– as you can conceive the then callback as a continuation of either
the resolution context or the context that queued the then
callback (more details).
async-listener defaults to the resolution context. This is the wrong
default for how we are using promises here, resuling in APM tools
like Stackdriver Trace losing context.
We work-around the problem by not using the promise after it has
resolved.
async-listener is important module for APM tools and for long stack traces. Promises make the concept of a long-stack-trace ambiguous – as you can conceive the
then
callback as a continuation of either the resolution context or the context that queued thethen
callback (more details).async-listener defaults to the resolution context. This is the wrong default for how we are using promises here, resuling in APM tools like Stackdriver Trace losing context.
We work-around the problem by not using the promise after it has resolved.
R= @matthewloring