[Spice-devel] [spice-common PATCH v1 0/13] subdomain filtering with glib logging

Victor Toso victortoso at redhat.com
Sun Dec 13 23:40:33 PST 2015


Hi,

On Fri, Dec 11, 2015 at 11:45:32AM -0500, Marc-André Lureau wrote:
> Hi
>
> ----- Original Message -----
> > Hi,
> >
> > So, I've been playing a bit with this domains for logging in top of
> > Christophe's patches [0] to use glib log system and this series is an
> > approach for that, I would love some feedback of this WIP.
> >
> > [0]
> > http://lists.freedesktop.org/archives/spice-devel/2015-December/024507.html
> >
> > So, instead of working with domains for glib, I thought about having one
> > domain for all, which is Spice, and handle the interesting logs by
> > subdomains.
> >
> > The subdomains can be filtered in/out also by level under SPICE_DEBUG
> > environment var such as:
> >
> > # Give all output from all subdomains
> > export SPICE_DEBUG=*:*
> > export SPICE_DEBUG=1
> >
> > # Give all output from audio, warning level for everything else
> > export SPICE_DEBUG=*:warning,audio=*
> >
> > # Give all from usb and usbredir and nothing else
> > export SPICE_DEBUG=usb=*,usbredir=*,*:none
>
> This really look overly complex and intrusive to me. This is
> something different from glib or qemu tracing, so it makes me feel
> quite dizzy...

Right, I really don't want to introduce something that is bad :)

Do you have any idea regarding the syntax so we could have it in a
simpler way?

Currently is a set of <domain>:<debug-level> separated by comma.

>
> But I should review your patches, will try to do that soon...

Many thanks!

>
> >
> > As for G_MESSAGES_DEBUG concern, if SPICE_DEBUG is set, common/log.c
> > will set always set Spice domain so the only env var to Spice is the
> > SPICE_DEBUG one.
> > 
> > Every channel got is own subdomain but other files tend to be grouped,
> > such as the case of spice-audio, spice-gstaudio and spice-pulse which
> > are under "audio" subdomain. Same for "usb" domain which has 4 files
> > usb-(device-manager, device-widget), win-usb-(dev, driver-install).
> > 
> > Default subdomain is log.
> > 
> > Seems that in other projects, the domain initialization is on its _init
> > function (like, spice_init()). We could have that, If it makes sense
> > otherwise what I did was initializing on the very first spice_log() and
> > memory of each domain should be freed by _finalize() of its object.
> > 
> > This is probably leaking right now with remote-viewer but I don't want
> > to dive into fixing things without the general idea being accepted. In
> > the case of this looks good, I believe some set of simple tests would
> > be nice to have as well.
> > 
> > PS: This was only tested with spice-gtk, mostly likely will break on
> > spice-server due the change on SPICE_LOG_DOMAIN type
> > 
> > PS2: There are some leftovers like printf, fprintf, VNC_DEBUG, ... that
> > I think we should remove as well.
> > 
> > Cheers,
> >   toso
> > 
> > 
> > Victor Toso (4):
> >   log: simplify log defines with SPICE_LOG
> >   log: include message log level for parity with glib
> >   log: Always use Spice domain for glib
> >   log: allow filtering debug using domains
> > 
> >  common/Makefile.am |   1 +
> >  common/log.c       | 245
> >  ++++++++++++++++++++++++++++++++++++++++++++++++++---
> >  common/log.h       |  85 +++++++++++++------
> >  3 files changed, 295 insertions(+), 36 deletions(-)
> > 
> > Victor Toso (9):
> >   log: use glib debug on testing tools
> >   log: use spice_debug instead of SPICE_DEBUG
> >   log: remove unused SPICE_DEBUG
> >   log: use spice_debug instead of g_debug
> >   log: use spice_warning instead of g_warning
> >   log: use spice_critical instead of g_critical
> >   log: use spice_error instead of g_error
> >   log: remove __FUNCTION__ from debug
> >   log: use domains for logging
> > 
> >  src/bio-gio.c                |   7 +-
> >  src/channel-base.c           |  13 ++--
> >  src/channel-cursor.c         |  19 ++++--
> >  src/channel-display-mjpeg.c  |   4 +-
> >  src/channel-display.c        |  65 +++++++++++--------
> >  src/channel-inputs.c         |  11 +++-
> >  src/channel-main.c           |  89 ++++++++++++++------------
> >  src/channel-playback.c       |  27 +++++---
> >  src/channel-port.c           |   9 +++
> >  src/channel-record.c         |  17 +++--
> >  src/channel-smartcard.c      |  13 +++-
> >  src/channel-usbredir.c       |  15 ++++-
> >  src/channel-webdav.c         |  22 +++++--
> >  src/continuation.c           |   3 +-
> >  src/coroutine_gthread.c      |   4 +-
> >  src/coroutine_ucontext.c     |   6 +-
> >  src/coroutine_winfibers.c    |   6 +-
> >  src/decode-glz.c             |   9 +--
> >  src/decode-jpeg.c            |   6 +-
> >  src/decode-zlib.c            |   6 +-
> >  src/desktop-integration.c    |  10 +--
> >  src/giopipe.c                |  10 +--
> >  src/map-file                 |   4 ++
> >  src/smartcard-manager.c      |  27 +++++---
> >  src/spice-audio.c            |  11 +++-
> >  src/spice-channel-priv.h     |   2 +-
> >  src/spice-channel.c          | 146
> >  ++++++++++++++++++++++--------------------
> >  src/spice-grabsequence.c     |   3 +-
> >  src/spice-gstaudio.c         |  52 ++++++++-------
> >  src/spice-gtk-session.c      |  57 ++++++++++-------
> >  src/spice-option.c           |   4 +-
> >  src/spice-pulse.c            | 148
> >  +++++++++++++++++++++++--------------------
> >  src/spice-session.c          |  67 +++++++++++---------
> >  src/spice-uri.c              |   1 +
> >  src/spice-util.c             |   8 ++-
> >  src/spice-util.h             |   6 --
> >  src/spice-widget.c           |  94 ++++++++++++++-------------
> >  src/spicy-connect.c          |   2 +-
> >  src/spicy-screenshot.c       |   2 +-
> >  src/spicy-stats.c            |   2 +-
> >  src/spicy.c                  |  34 +++++-----
> >  src/usb-device-manager.c     |  71 ++++++++++++---------
> >  src/usb-device-widget.c      |  16 ++++-
> >  src/usbutil.c                |   4 +-
> >  src/vmcstream.c              |  20 ++++--
> >  src/vncdisplaykeymap.c       |  30 +++++----
> >  src/win-usb-dev.c            |  25 +++++---
> >  src/win-usb-driver-install.c |  53 +++++++++-------
> >  48 files changed, 745 insertions(+), 515 deletions(-)
> > 
> > --
> > 2.5.0
> > 
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> > 


More information about the Spice-devel mailing list