Support for non-unique process labels?
Loïc Hoguin
essen@REDACTED
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:
* https://www.erlang.org/erlang-enhancement-proposals/eep-0020.html
* https://github.com/nox/otp/commit/bf3334c1d2c0e404abaec72a985134def158afcf
It would be fantastic if this could get traction.
Cheers,
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
> "request_queue_worker".
>
> 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
--
Loïc Hoguin
https://ninenines.eu
More information about the erlang-questions
mailing list