Ben, I understand why you question that libprocess should log starting from
a specific level. I think it is not quite illogical for a library to use
lower priority levels. I can see this change being helpful for any user of
libprocess, not just Mesos.

On Mon, Oct 9, 2017 at 6:34 PM, Benjamin Mahler <bmah...@apache.org> wrote:

> >
> >    2. Changing the libprocess verbose logs to start at level 3. Not just
> >    due to an ordering between Mesos and libprocess logs, but also because
> >    libprocess is a low-level library.
>
>
> 2. is the part that is concerning. It seems arbitrary to me to have
> libprocess start at a particular level since it's a library. Can you make
> it a configuration option as I mentioned earlier?
>
> The /logging integration for per-module logging sounds great!
>
> On Mon, Oct 9, 2017 at 11:02 AM, Armand Grillet <agril...@mesosphere.io>
> wrote:
>
> > Thanks for your input Benjamin. After having looked at per-module verbose
> > level, here are the changes I would like to apply:
> >
> >    1. Changing the Mesos common events verbose logs so that they use
> >    VLOG(2) instead of 1. The original commit
> > https://github.com/apache/meso
> >    s/commit/fa6ffdfcd22136c171b43aed2e7949a07fd263d7
> >    <https://github.com/apache/mesos/commit/
> fa6ffdfcd22136c171b43aed2e7949
> > a07fd263d7>
> > that
> >    started using VLOG(1) for the allocator does not state why this level
> > was
> >    chosen and the periodic messages such as "No allocations performed"
> > should
> >    be displayed at a higher level to simplify debugging.
> >    2. Changing the libprocess verbose logs to start at level 3. Not just
> >    due to an ordering between Mesos and libprocess logs, but also because
> >    libprocess is a low-level library.
> >    3. Adding support for the GLOG vmodule flag and add it as an option in
> >    /toggle/logging (as suggested in https://issues.apache.org/j
> >    ira/browse/MESOS-5784). However, this would not allow us to have a
> >    per-component logging verbosity control that should be added
> afterwards.
> >
> >
> > 2017-10-07 1:47 GMT+02:00 Benjamin Mahler <bmah...@apache.org>:
> >
> > > It seems unfortunate to establish an ordering between different
> > component's
> > > verbosity levels, how is libprocess to know which level to start at? I
> > > suppose you can tell it, but it's not clear that the first level of
> > > verbosity in libprocess should come after the max level of verbosity in
> > > mesos.
> > >
> > > This seems to surface a need for per-module logging verbosity control.
> > Have
> > > you looked into the '--vmodule' flag?
> > >
> > > On Wed, Oct 4, 2017 at 12:59 PM, Armand Grillet <
> agril...@mesosphere.io>
> > > wrote:
> > >
> > > > Hi all,
> > > >
> > > > We currently use three levels of verbose logging via the VLOG macro.
> I
> > > > propose to add two levels and change how we use the current ones to
> > make
> > > > debugging easier for Mesos developers.
> > > >
> > > > The current situation is:
> > > >
> > > >    - VLOG(1) is used for Mesos and libprocess events such as the
> > > >    admission of an agent by a master. It is also used for a few Mesos
> > > > common
> > > >    events, e.g. the allocation of resources on an agent.
> > > >    - VLOG(2) is used for Mesos and libprocess common events, e.g. the
> > > >    reception of an offer by a Mesos scheduler.
> > > >    - VLOG(3) is used when a Mesos scheduler process saves the PID
> > > >    associated with each slave and for libprocess events related to
> > > timers,
> > > >    clocks, and waiter processes.
> > > >
> > > > As an example, running GLOG_v=<level> ./mesos-tests --gtest_filter="
> > > > OversubscriptionTest.UpdateAllocatorOnSchedulerFailover" --verbose
> > > > returns:
> > > >
> > > >    - 212 lines of logs with level = 1.
> > > >    - 695 lines of logs with level = 2.
> > > >    - 782 lines of logs with level = 3.
> > > >
> > > > The logs at level 2 are quite noisy. This is mainly due to the number
> > of
> > > > messages regarding libprocess recurring events such as process
> > > resumptions:
> > > > https://github.com/apache/mesos/blob/d863620e5cb82b7f22cade0da0a0d1
> > > > 8afbdf9136/3rdparty/libprocess/src/process.cpp#L3245
> > > >
> > > > To improve the situation, I suggest having five levels:
> > > >
> > > >    - VLOG(1), used for Mesos events.
> > > >    - VLOG(2), used for Mesos common/recurring events.
> > > >    - VLOG(3), used for libprocess events.
> > > >    - VLOG(4), used for libprocess common/recurring events.
> > > >    - VLOG(5), used for libprocess events related to timers, clocks,
> and
> > > >    waiter processes.
> > > >
> > > > This change would allow us to read the Mesos verbose logs without
> > having
> > > to
> > > > see the ones concerning libprocess, a use case that seems reasonable
> > for
> > > > Mesos developers. The new log levels would make it possible to have
> the
> > > > same logs as before when necessary.
> > > >
> > > > What do you think about this? Please feel free to share your thoughts
> > and
> > > > comments.
> > > >
> > > > --
> > > > Armand Grillet
> > > > Software Engineer, Mesosphere
> > > >
> > >
> >
> >
> >
> > --
> > Armand Grillet
> > Software Engineer, Mesosphere
> >
>

Reply via email to