# Seeing inside a Node.js service fleet

Source: https://imqueue.org/blog/topics/observability/

Observability for Node.js services over a message queue: tracing a call through every service it touches, the failures that never throw, and carrying a request ID and the user from the edge through every downstream call.

3 articles tagged `observability`, newest first.

- [Request IDs and user context across Node.js services, without adding a parameter to every method](https://imqueue.org/blog/request-context-across-services-nodejs/) — 2026-10-09, Serhiy Morenko: A log line in your billing service says a charge failed. Which user? Which request? Billing cannot tell you, because nobody told it. Here is how to carry a request ID, the user and the tenant from the edge of your system through every service call it causes, read them anywhere in a handler, and pass them on automatically, plus the one place where that context must never decide the answer. Every behaviour is measured. — [markdown](https://imqueue.org/blog/request-context-across-services-nodejs/index.md)
- [Nothing threw, and the job never ran: silent failures in a Node.js message queue](https://imqueue.org/blog/silent-failures-nodejs-message-queue/) — 2026-08-21, Andrii Glushko: A send() that resolves with a message id nobody will ever deliver. A push() that returns cleanly onto a queue redis refused to write. Neither throws, and neither can — the caller has already moved on by the time redis answers. That silence is over: here is what each of those failures now writes to the log instead, and the one upgrade note that costs you a stack trace. — [markdown](https://imqueue.org/blog/silent-failures-nodejs-message-queue/index.md)
- [Distributed tracing for Node.js services over a message queue](https://imqueue.org/blog/distributed-tracing-nodejs-message-queue/) — 2026-08-13, Serhiy Morenko: The standard objection to queue-based RPC is that you lose the trace: the caller sends, something else picks it up, and the connection between them is gone. It isn't — the trace context rides in the request metadata. Here is a measured three-process trace, and the four ways it silently comes out wrong. — [markdown](https://imqueue.org/blog/distributed-tracing-nodejs-message-queue/index.md)

## Other topics

- [Message queues](https://imqueue.org/blog/topics/queue/) — 19 articles
- [RPC](https://imqueue.org/blog/topics/rpc/) — 15 articles
- [Patterns](https://imqueue.org/blog/topics/patterns/) — 14 articles
- [Architecture](https://imqueue.org/blog/topics/architecture/) — 12 articles
- [Comparisons](https://imqueue.org/blog/topics/comparison/) — 9 articles
- [Resilience](https://imqueue.org/blog/topics/resilience/) — 9 articles
- [Developer experience](https://imqueue.org/blog/topics/dx/) — 8 articles
- [Type safety](https://imqueue.org/blog/topics/types/) — 7 articles
- [Message delivery](https://imqueue.org/blog/topics/delivery/) — 6 articles
- [Performance](https://imqueue.org/blog/topics/performance/) — 6 articles
- [Transports](https://imqueue.org/blog/topics/transport/) — 6 articles
- [Jobs & scheduling](https://imqueue.org/blog/topics/jobs/) — 5 articles
- [Typed clients](https://imqueue.org/blog/topics/clients/) — 4 articles
- [Security](https://imqueue.org/blog/topics/security/) — 4 articles
- [Service discovery](https://imqueue.org/blog/topics/discovery/) — 3 articles

All articles: [https://imqueue.org/blog/](https://imqueue.org/blog/) — [markdown](https://imqueue.org/blog/index.md)

