Support for non-unique process labels?
Fri May 7 10:24:32 CEST 2021
What you want is to be able to either:
* register processes using any term and not just atoms
* have garbage collectable atoms
That way Observer will always show the proper name.
Then for logs all you need is for <0.2555.0> to be identified at some
point (in other logs with its registered name + pid for example). Or
hook into logger as others have pointed out.
GC atoms has long been on the wishlist of many people:
It would be fantastic if this could get traction.
On 06/05/2021 16:06, Nathan Long wrote:
> Is there a way to add a non-unique label to a process? If not, I would
> like to propose that it be added.
> The label could be shown with or instead of a PID. I think this would be
> useful in at least two areas.
> First, when observing a running system, the PID is not descriptive. I
> have Observer open right now looking at part of my system, and I can see
> one globally registered process name displayed, but everything else is a
> PID. What are those processes? I might be able to figure it out by
> clicking the process and seeing what its initial call was, but often I
> can tell is "it's a GenServer." The structure of the system would be
> much more apparent if I saw labels like "db_connection" or
> Second, when reading error messages in logs or an exception tracker, the
> PID is not useful. For example, I'm looking at an error in Sentry right
> now that says "Sentry.CrashError error ** (exit) 'stopping because
> dependent process <0.2255.0> died: killed'". I have no idea what
> `<0.2555.0>` was, so I don't know what to debug.
> Does this exist or would others support it being added to the BEAM?
> -- Nathan
More information about the erlang-questions