common.core: Introduce logger utils
This patch begins to bring notions or a defined trace format.
It provides a "blessed" way of formatting data to have analyses work
out of the box. It also provides an easy and robust way of
instrumenting without having to worry about details like
TIDs and time stamps.
The usage is reminiscent of LTTng's tracepoint API, in that
the user must supply a list of arguments in the end alternating
between key and value. It is easier to list them this way rather
than forcing a Map, however, this may throw some illegal argument
exceptions.
There are four reference implementations available:
* Scoped logging for durations
This is a try-with-resources logger that makes call stack and
call graph analysis much easier to perform.
* Flow logs for durations and inter-threads relations
This is a try-with resources logger that makes call stack and
call graph analysis much easier to perform, but also shows
inter-thread dependencies.
* Object lifecycle tracking
This allows the tracking of Objects that have notions of "disposing"
* Asynchronous message support
This allows a standardized way to track message passing as well as
asynchronouse operations.
Features missing:
* Marker events.
* Counter events
* Sampling Events
This changes the loglevel of the state system logs, as more information
is stored, it needs more bandwitdth.
Change-Id: I8320fa4246b33442fe44e3ce3935a824cd28feac
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/85633
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
This page took 0.031081 seconds and 5 git commands to generate.