Support diagnostic channels
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.
+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.
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.
Hi! I'm interested in working on this issue. Could you please assign it to me?
@ahmed-abdalkder, we typically do not assign issues like this. Please feel free to open PRs and issues in the relevant areas.
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.
Hi @dohrisalim, as Wesley already mentioned, feel free to open a PR with your implementation.