botpress / messaging

Botpress messaging server
43 stars 37 forks source link

[BUG] Messaging doesn't show on the diagnostic report #386

Closed allardy closed 2 years ago

allardy commented 2 years ago

I just realized that there's no trace of the messaging client in the diagnostic report, this might be useful to investigate weird issues or race conditions. We just had an issue where there were some "rogue processes" and this could have helped.

image

Also, can you add a name to the redis connection, with a similar naming than the other processes? The master process of the orchestrator generates an ID (process.env.SERVER_ID) which can help us associate processes together.

Having those information help us pinpoint the problem more easily

image

samuelmasse commented 2 years ago

@allardy is that fixed?

allardy commented 2 years ago

I've added the number of messaging nodes listening on redis (specifically, all the nodes listening on 'cache_status'). Only thing missing is the connection name on messaging.

When the Botpress process starts, it is assigned an unique ID, which is stored in process.SERVER_ID. Each sub process started by the orchestrator then get the environment variable process.env.SERVER_ID. This ID allows us to identify misbehaving processes, stuck processes, or unusual process count.

Is it possible to add that information to the redis connection name on messaging? Doing this would greatly help diagnose problems in production. For example, if there's 5 messaging nodes listening on redis, knowing that they all originate from the same "parent" process, or from different parent processes, would really help debugging.

The connection name has no other purpose than to be displayed in the client list