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
>

Reply via email to