Skip to content

node:http server does not publish to HTTP server diagnostics_channel #29586

@GregoryDi

Description

@GregoryDi

What version of Bun is running?

1.3.13+bf2e2cecf

What platform is your computer?

Darwin 25.3.0 arm64 arm

What steps can reproduce the bug?

Problem

node:http server does not publish to HTTP server diagnostics_channel channels

Description

Bun implements the node:diagnostics_channel module, but its node:http
server does not publish to the standard Node.js HTTP server diagnostic channels.
This silently breaks any observability library that relies on these channels
for instrumentation (metrics, tracing, APM).

Note: HTTP client-side channels are being worked on in #24375. This issue
specifically tracks the missing server-side channels.

What is the expected behavior?

Node.js instruments its HTTP server internally by publishing to named
diagnostic channels at key points in the request/response lifecycle. This allows
libraries to subscribe and collect metrics or traces without wrapping or patching
any code.

HTTP Server channels

Channel When
http.server.request.start Server receives a request
http.server.response.created Server creates a response object
http.server.response.finish Server finishes sending a response

What do you see instead?

Subscribers to all of the above channels are never called. The diagnostics_channel
API itself works (subscribe/publish/channel), but node:http server never publishes
to any of these channels.

Additional information

Impact
Any observability library using diagnostics_channel for HTTP server instrumentation
does not work on Bun. Notable examples:

  • OpenTelemetry Node.js HTTP instrumentation
  • Any Prometheus HTTP metrics library following the Node.js diagnostics_channel spec
    Notes

I could not find any mentions of these channel names in the Bun codebase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions