Re: Support for non-unique process labels?
Loïc Hoguin <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Organization | Nine Nines |
| Message-ID | <[email protected]> |
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