[Development] QtCS 2017 logging/tracing session notes

Christian Gagneraud chgans at gmail.com
Tue Oct 10 15:12:52 CEST 2017

On 10 October 2017 at 22:48, Thiago Macieira <thiago.macieira at intel.com> wrote:
> do not change qdebug but provide structured tracing as a new facility

Any chance this can be made lock-free from a caller point of view?
(PS: I don't even know if qDebug streaming is lock-free and i'm
interested to know the answer:))
A lock-free callee site has the advantage of not influencing (much)
multi-threading issues. Observing is disturbing as they say.

I'm very interested in lock-free remote tracing.
On the GammaRay and binutils mailing lists I talked/monologued about
an event tracing plugin for gammaray based on ELF symbol overwriting,
at some point I was suggested to go towards official Qt hooks [1].
Could this "Structured logging" be it?
I have as well investigated LTTng, but didn't like their userspace
boiler plate. In the past, I used LTT in kernel mode and it was very
simple (LTT was originally made for the Linux Kernel).  My (personal)
conclusion is: if in userspace, better implement your own solution.

AFAIU, you have somewhow integrated userspace LTTng with Qt logging
and have a MS Windows equivalent (ETW).
Looking quickly at the code review, I can see that a very few qtbase
source files have been patched, and a new tool has been added.

Could this "Structured logging" provide something along the lines of
event handler and event dispatcher profiling/tracing?

In any cases, this looks promising, big thumb up!

[1] https://mail.kdab.com//pipermail/gammaray-interest/2017-September/000281.html

More information about the Development mailing list