Hi, As you can see in MESOS-5917, I made sure that all the processes I could find specify a distinguishable IDs.
After talking to Alex R and Ben M, I enforced the following naming schema: For processes created by Mesos: - Every process must specify a distinguishable process ID. - The process ID must contain only lowercase characters and use a dash as word separator, e.g., `zookeeper-leader-contender`. - A common pattern is to prefix the ID with the name of the component, e.g., `log-recover`, `logrotate-logger`. For processes created by libprocess: - The ID of a process internal to libprocess (one with not associated route/endpoint) must be enclosed in double underscores, and use underscores instead of dashes as word separator, e.g., `__authentication_router__`. - The Mesos process ID naming schema applies to libprocess exposed to libprocess users, via a route/associated to an endpoint, e.g., use `help` instead of `__help__`. >From now on, please make sure you adhere to this naming scheme when defining new processes! Thanks, -Gastón On Sat, Jul 23, 2016 at 12:04 AM, Timothy Chen <[email protected]> wrote: > +1 > > Previously when I was adding tracing to Mesos this was one of the most > missing piece of metadata to easily detect sender and receiver > information. > > Tim > > On Fri, Jul 22, 2016 at 11:07 PM, Alex Rukletsov <[email protected]> > wrote: > > Folks, > > > > I've noticed recently that some actors do not specify a distinguishable > > actor ID. As a result, it may be hard to match output to a specific > actor, > > for example an excerpt from "__processes__" endpoint: > > > > [{"events":[],"id":"(10)"},{"events":[],"id":"(11)"},{" > events":[],"id":"(1279859)"},{"events":[],"id":"(15)"}, > > ... ] > > > > Every time you create an actor, i.e., a `ProcessBase` instance, you most > > probably want to give it a meaningful id. Consider `StatusUpdateManager`. > > Currently, the code does not specify the ID: > > > > StatusUpdateManagerProcess::StatusUpdateManagerProcess(const Flags& > _flags) > > : flags(_flags), paused(false) {} > > > > Instead, a preferred way of calling the `StatusUpdateManagerProcess` > c-tor > > would be: > > > > StatusUpdateManagerProcess::StatusUpdateManagerProcess(const Flags& > _flags) > > : ProcessBase(process::ID::generate("status-update-manager")), > > flags(_flags), > > paused(false) {} > > > > Best, > > Alex >
