[Development] QtCS 2017 logging/tracing session notes

Thiago Macieira thiago.macieira at intel.com
Tue Oct 10 11:48:55 CEST 2017


== Discussion ==
* Structured logging:
** We want to extract information from logs and detect common messages. For 
example:
{|
! From 
! To
|-
|
    Got message "Hello"     
|
    Got message "%s"       Hello 
|-
|
    Got message "World"     
|
    Got message "%s"       World
|}
** We want to allow logging to store ancillary data, possibly in machine-
readable format, likely not part of the message itself
*** Like journald API can do
*** How do we allow different formatting depending on backend? Needs to 
support formatting user types too.
* Structured output
** Store to databases, for example
** Do we still obey QT_MESSAGE_PATTERN?
** Select backend with environment variable

Need to review with [https://codereview.qt-project.org/185287 LTTNG and ETW 
tracing]

==== Requirements? ====
performance similar to the current state (or provide choice)

streaming generates a lot of code

do not change qdebug but provide structured tracing as a new facility

== Welcome text ==

Qt-based devices such as Medical Cyber-Physical Systems could be developed, 
verified and validated more efficiently using structured logs. We suggest Qt 
Logging enhancements that would facilitate both human exploration and 
automated analysis with Python or other tools. The session will allow:
* gathering your feedback
* examining which enhancements would be useful to Qt
and how to contribute them...

==== Enhancements? ====
extended handler with format

less literals in tracepoints

TSV+JSON vs text-only

Bind<TUserData>

format-free handler

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list