express icon indicating copy to clipboard operation
express copied to clipboard

Support diagnostic channels

Open bjohansebas opened this issue 10 months ago • 2 comments

It has been mentioned several times, both in meetings and other issues, to provide support for diagnostic channels, which seems to be something that wants to be integrated into Express no matter what. I am posting this in the issue in case anyone is interested in working on it.

The integration should also be done in the router module.

bjohansebas avatar Feb 20 '25 20:02 bjohansebas

+1 as it could be a useful way to share diagnostic info throughout the ecosystem.

I'm interested in working on this. That said, before getting too far it might be worth discussing the desired direction for both logging and diagnostics overall.

I know @wesleytodd has talked about integrating pino as a logger a few times and while these tools do different things to solve different problems, I imagine they could end up working together. As they are related, I think it would be good to align on the strategy for each of them for v6.

I opened https://github.com/expressjs/discussions/issues/341 to discuss.

dpopp07 avatar Feb 20 '25 22:02 dpopp07

https://github.com/pillarjs/router/pull/96

I am hoping to consolidate this work into the Performance WG since mostly this will be used to observe performance (while recognizing it serves other o11y purposes).

Additionally @simon-id, @Qard, @timfish, and @AbhiPrasad have all either worked in this area or mentioned interest in this work. I will keep this open until we have a better place to discuss, but want to point folks to this Perf WG proposal so we can get everyone involved in a productive way with that.

wesleytodd avatar Mar 05 '25 17:03 wesleytodd

Hi! I'm interested in working on this issue. Could you please assign it to me?

ahmed-abdalkder avatar Jun 24 '25 14:06 ahmed-abdalkder

@ahmed-abdalkder, we typically do not assign issues like this. Please feel free to open PRs and issues in the relevant areas.

wesleytodd avatar Jun 24 '25 16:06 wesleytodd

I can implement Node.js diagnostic channels support in Express. I understand this involves instrumenting key lifecycle events like request/response cycles, middleware execution, and route matching. I'll add the diagnostics_channel integration points while maintaining backward compatibility and providing clear documentation for monitoring use cases.

dohrisalim avatar Nov 09 '25 08:11 dohrisalim

Hi @dohrisalim, as Wesley already mentioned, feel free to open a PR with your implementation.

efekrskl avatar Nov 10 '25 17:11 efekrskl