Bun publishes none of the node:diagnostics_channel http channels that @sentry/node's httpIntegration subscribes to.
node : ["http.client.request.start","http.server.request.start",
"http.server.response.finish","http.client.response.finish",
"undici:request:create"]
deno : ["http.client.request.created","http.client.request.start",
"http.server.request.start","http.server.response.finish",
"http.client.response.finish"]
bun : []
httpIntegration() is in Bun's default set (packages/bun/src/sdk.ts:57) but does nothing. An end-to-end probe under bun run confirms i :
| client |
sentry-trace sent |
child span |
fetch |
yes |
http.client:GET .../via-fetch |
node:http |
no |
none |
Anything that speaks node:http on Bun (axios' http adapter, got, node-fetch@2, AWS SDK v2, most older clients) drops out of the trace with no warning.
Work item. Decide the fix and land it:
- (a) instrument
http.request / https.request directly in a Bun-specific integration, the way bunHttpServerIntegration already patches http.Server.prototype.emit for the server side, or
- (b) remove
httpIntegration() from Bun's defaults and warn once at init() that node:http clients are not traced on Bun.
Either way, add an integration test that asserts the header is or is not sent, so the behavior stops being accidental.
**Prior art **(tracked). #17779 (open) reports the root cause from the user side: "Bun not publishing to http Diagnostic Channel", filed against Express on Bun. The other two thirds of the problem are already solved: #22869 (merged) added the Bun fetch integration and #22870 (merged) added bunHttpServerIntegration for the incoming side. Nothing covers outgoing node:http.
Bun publishes none of the
node:diagnostics_channelhttp channels that@sentry/node'shttpIntegrationsubscribes to.httpIntegration()is in Bun's default set (packages/bun/src/sdk.ts:57) but does nothing. An end-to-end probe underbun runconfirms i :sentry-tracesentfetchhttp.client:GET .../via-fetchnode:httpAnything that speaks
node:httpon Bun (axios' http adapter,got,node-fetch@2, AWS SDK v2, most older clients) drops out of the trace with no warning.Work item. Decide the fix and land it:
http.request/https.requestdirectly in a Bun-specific integration, the waybunHttpServerIntegrationalready patcheshttp.Server.prototype.emitfor the server side, orhttpIntegration()from Bun's defaults and warn once atinit()thatnode:httpclients are not traced on Bun.Either way, add an integration test that asserts the header is or is not sent, so the behavior stops being accidental.
**Prior art **(tracked). #17779 (open) reports the root cause from the user side: "Bun not publishing to http Diagnostic Channel", filed against Express on Bun. The other two thirds of the problem are already solved: #22869 (merged) added the Bun
fetchintegration and #22870 (merged) addedbunHttpServerIntegrationfor the incoming side. Nothing covers outgoingnode:http.