sentry-javascript icon indicating copy to clipboard operation
sentry-javascript copied to clipboard

Support generator functions in `startSpan` APIs

Open mydea opened this issue 1 year ago • 1 comments

Today, we do not support providing generator functions as a callback to startSpan or startSpanManual.

This is fundamentally a bit tricky, first because it is a bit tricky (but probably possible?) to detect if a generator function has been provided as a callback. But more fundamentally, when using this in node, execution context handling will not work as expected inside of the generator function (which is a known node issue).

Still it's not unreasonable to want to use something like this:

function*() {
  yield startSpan({ name: 'my span' }, function*() {
    yield waitForSomeTask();
   });
}

We should find some way to support this, either inside of startSpan or through a dedicated helper like startSpanGenerator (naming is hard, but you get the point...).

mydea avatar Feb 21 '24 16:02 mydea

Related https://github.com/nodejs/node/issues/42237

AbhiPrasad avatar Feb 21 '24 16:02 AbhiPrasad