[Spice-devel] [spice-common v3] use specific subdomains for better filtering
Victor Toso
victortoso at redhat.com
Sat Mar 12 14:32:01 UTC 2016
Hi! I've rebased this series and pushed to my remote branch in
freedesktop [0] [1]. I'll try to clarify the ideia for working on this
and if it does not get any positive feedback I'll take it as something
not interesting to have...
[0] (common) https://cgit.freedesktop.org/~victortoso/spice-common/log/?h=logs
[1] (gtk) https://cgit.freedesktop.org/~victortoso/spice-gtk/log/?h=logs
fdo: https://bugs.freedesktop.org/show_bug.cgi?id=91838
So, first of all, I don't want to introduce something that everybody
need to understand in order to get proper debug. The main idea is able
to filter in/out stuff that you don't want to see without the need to
| grep -v and | grep -i it.
With that said, SPICE_DEBUG=6 should work to get G_LOG_LEVEL_DEBUG of
all code that uses spice logging functions.
With all debug enable you would see all lines prefixed with
"[subdomain-name]" so, in case you don't want to see it (filter out),
you could:
$SPICE_DEBUG=6,subdomain-name:- remote-viwer ...
And voilĂ , nothing from it will be showed as '-' is the same as '0'
which is *no debug*. The opposite of it would be '*' or '6'.
* Both '-' and 0 would work and "none" as well;
* Both '*' and 6 would work and "debug" as well;
In case you only want to see some debug info, you could do something
like:
SPICE_DEBUG=audio:*,playback:*
This would show spice-audio, spice-gstaduio, spice-pulse,
channel-playback debugs and nothing else.
Q: Do you want this just to avoid grep?
A: No! We should not avoid inserting debug into the code because it
could get verbose, we should smart handling it with something like this
IMHO. We have a few #ifdef #DEBUG_THIS which is not useful when asking
debug info to reporter in open bugs.
I really think that this could be improved a lot yet but it would need a
proper discussion. If this does not seem useful, then it's fine :)
Another misc info:
* I did not try this with spice server yet;
* We can use spice logging tools or glib ones, I choosed spice first as
I think we can have better control with it;
* I did not try to fix the spice-common tests yet;
changes from v2:
* rebased to latest version upstream
* Kept usage of SPICE_LOG_DOMAIN instead of G_LOG_DOMAIN that I
previously proposed
* moved some changes that should be in another commit
* changed the static variable from SPICE_LOG_DOMAIN to
SPICE_LOG_SUB_DOMAIN
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.
[spice-common]
Victor Toso (6):
log: simplify log defines with SPICE_LOG
log: include message log level for parity with glib
log: allow filtering logs with subdomains
log: create specific subdomains for filtering
log: Disable multiple domains in Spice
don't break the build with this wip patches
common/canvas_base.c | 3 +-
common/canvas_utils.c | 1 +
common/log.c | 174 ++++++++++++++++++++++++++++++++++++++++++++++----
common/log.h | 87 ++++++++++++++++---------
common/lz.c | 2 +
common/marshaller.c | 1 +
common/mem.c | 1 +
common/pixman_utils.c | 1 +
common/quic.c | 4 +-
common/region.c | 2 +
common/rop3.c | 4 +-
common/ssl_verify.c | 3 +-
tests/test-logging.c | 3 +-
13 files changed, 238 insertions(+), 48 deletions(-)
[spice-gtk]
Victor Toso (13):
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 plain spice_debug instead of VNC_DEBUG
log: use spice logging instead of (f)printf
log: use spice_error instead of g_error
Update spice-common submodule
log: create subdomains for spice-gtk
log: remove dup __FUNCTION__ argument from logs
spice-common | 2 +-
src/Makefile.am | 3 +
src/bio-gio.c | 8 +-
src/channel-base.c | 14 +--
src/channel-cursor.c | 30 +++---
src/channel-display-mjpeg.c | 4 +-
src/channel-display.c | 58 +++++-----
src/channel-inputs.c | 4 +-
src/channel-main.c | 83 +++++++-------
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/coroutine_gthread.c | 8 +-
src/coroutine_ucontext.c | 7 +-
src/coroutine_winfibers.c | 9 +-
src/decode-glz.c | 10 +-
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 | 191 ++++++++++++++++++---------------
src/spice-client-glib-usb-acl-helper.c | 9 +-
src/spice-grabsequence.c | 4 +-
src/spice-gstaudio.c | 48 +++++----
src/spice-gtk-session.c | 48 +++++----
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-egl.c | 18 ++--
src/spice-widget.c | 96 +++++++++--------
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 ++++----
51 files changed, 675 insertions(+), 580 deletions(-)
--
2.5.0
More information about the Spice-devel
mailing list