[Spice-devel] [spice-common PATCH v2 00/17] subdomain filtering with glib logging
Jonathon Jongsma
jjongsma at redhat.com
Tue Jan 12 15:03:47 PST 2016
So I've gone through the patch series briefly. I am sympathetic to the desire
for more control over the debugging output, but to be honest I'm not sure
whether the benefits justify the added complexity. I've used gstreamer a bit
(which has a similar debugging framework) and I always found the debug framework
overly complex and I didn't really like using it. For gstreamer it makes sense
to have a complex debug framework because it produces such a huge amount of
debug output. You can easily generate debug output that is several gigabytes.
But for a project like spice, I'm not sure we produce enough output to make it
necessary.
A couple minor things that I didn't really like much about gstreamer debugging:
- it's not always obvious what "domains" are available (you have to look in the
source file to figure out which domain to enable for the thing you want to
debug)
- If I haven't done it in a while, I often have to go look up the format for
specifying the debug specification. Are the domains separated with commas,
semicolons? do I need to specify numeric values for debug level? or do I use
strings ("warning", etc)?
So, I'm not totally opposed to this system, but I feel there's something nice
about keeping it simpler. I'd like to hear opinions from others though.
Jonathon
On Fri, 2016-01-08 at 09:51 +0100, Victor Toso wrote:
> So, another WIP series to gather feedback regarding this subdomain
> filtering. This patch is in top of Christophe's patches [0] to use glib
> log system. The idea is better explained in v1 [1] and commit logs.
>
> [0]
> http://lists.freedesktop.org/archives/spice-devel/2015-December/025012.html
> [1]
> http://lists.freedesktop.org/archives/spice-devel/2015-December/024893.html
>
> If this approach seems okay, I still need to:
> - fix logging tests that Christophe has introduced in last interaction;
> - implement some tests for subdomains filtering
> - deal with --spice-debug arg option (something like export
> SPICE_DEBUG=*:debug)
>
> changes from v1:
> - Use one-static-per-file approach to define each subdomain. This is
> similar to how libvirt does and seems much cleaner.
> - Removed f(printf) debugs
> - Created subdomains for spice-common as well as now this is a must.
>
> Victor Toso (4): (spice-common)
> 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 logs with subdomains
>
> common/Makefile.am | 1 +
> common/canvas_base.c | 3 +-
> common/canvas_utils.c | 1 +
> common/log.c | 184 +++++++++++++++++++++++++++++++++++++++++++++----
> -
> common/log.h | 84 ++++++++++++++---------
> common/lz.c | 2 +
> common/mem.c | 2 +
> common/pixman_utils.c | 1 +
> common/quic.c | 4 +-
> common/region.c | 2 +
> common/rop3.c | 4 +-
> common/ssl_verify.c | 3 +-
> 12 files changed, 237 insertions(+), 54 deletions(-)
>
> Victor Toso (13): (spice-gtk)
> log: use glib logging on testing tools
> log: use spice_debug instead of SPICE_DEBUG
> log: nitpick at channel name in CHANNEL_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: use plain spice_debug instead of VNC_DEBUG
> log: use spice logging instead of (f)printf
> log: remove __FUNCTION__ from debug
> log: use "Spice" domain
> log: use specific subdomains for better filtering
>
> src/Makefile.am | 2 +-
> src/bio-gio.c | 8 +-
> src/channel-base.c | 14 +--
> src/channel-cursor.c | 29 ++---
> src/channel-display-mjpeg.c | 4 +-
> src/channel-display.c | 58 +++++-----
> src/channel-inputs.c | 4 +-
> src/channel-main.c | 82 +++++++-------
> src/channel-playback.c | 20 ++--
> src/channel-port.c | 2 +
> src/channel-record.c | 10 +-
> src/channel-smartcard.c | 6 +-
> src/channel-usbredir.c | 8 +-
> src/channel-webdav.c | 16 +--
> src/continuation.c | 4 +-
> src/coroutine_gthread.c | 8 +-
> src/coroutine_ucontext.c | 9 +-
> src/coroutine_winfibers.c | 9 +-
> src/decode-glz.c | 9 +-
> src/decode-jpeg.c | 6 +-
> src/decode-zlib.c | 6 +-
> src/desktop-integration.c | 10 +-
> src/giopipe.c | 11 +-
> src/map-file | 1 +
> src/smartcard-manager.c | 20 ++--
> src/spice-audio.c | 4 +-
> src/spice-channel-priv.h | 2 +-
> src/spice-channel.c | 189 ++++++++++++++++++--------------
> -
> src/spice-client-glib-usb-acl-helper.c | 6 +-
> src/spice-grabsequence.c | 4 +-
> src/spice-gstaudio.c | 46 ++++----
> src/spice-gtk-session.c | 50 ++++-----
> src/spice-option.c | 4 +-
> src/spice-pulse.c | 142 +++++++++++++------------
> src/spice-session.c | 60 ++++++-----
> src/spice-uri.c | 2 +
> src/spice-util.c | 8 +-
> src/spice-util.h | 6 --
> src/spice-widget.c | 88 +++++++--------
> src/spicy-connect.c | 2 +-
> src/spicy-screenshot.c | 10 +-
> src/spicy-stats.c | 12 +--
> src/spicy.c | 34 +++---
> src/usb-device-manager.c | 64 +++++------
> src/usb-device-widget.c | 7 +-
> src/usbutil.c | 4 +-
> src/vmcstream.c | 14 +--
> src/vncdisplaykeymap.c | 46 ++++----
> src/win-usb-dev.c | 18 ++--
> src/win-usb-driver-install.c | 46 ++++----
> tests/Makefile.am | 2 +-
> 51 files changed, 658 insertions(+), 568 deletions(-)
>
More information about the Spice-devel
mailing list