common.core: Introduce logger utils
authorMatthew Khouzam <matthew.khouzam@ericsson.com>
Wed, 23 Nov 2016 21:57:40 +0000 (16:57 -0500)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Thu, 23 Mar 2017 00:52:45 +0000 (20:52 -0400)
commit769381c3040634837c95685306ebaa0b400cfeb3
treea975548eaf7e903da7c3bba4fc73e1ae079e0ffc
parentf16950def6078e1408d1380aabb29185b0ac30bd
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
common/org.eclipse.tracecompass.common.core.tests/META-INF/MANIFEST.MF
common/org.eclipse.tracecompass.common.core.tests/src/org/eclipse/tracecompass/common/core/tests/log/LoggerTest.java [new file with mode: 0644]
common/org.eclipse.tracecompass.common.core/annotations/java/lang/StringBuilder.eea
common/org.eclipse.tracecompass.common.core/annotations/java/util/logging/Level.eea [new file with mode: 0644]
common/org.eclipse.tracecompass.common.core/src/org/eclipse/tracecompass/common/core/log/TraceCompassLogUtils.java [new file with mode: 0644]
doc/org.eclipse.tracecompass.doc.dev/doc/Developer-Guide.mediawiki
statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/StateSystem.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartViewer.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/TmfView.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractStateSystemTimeGraphView.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java
This page took 0.031081 seconds and 5 git commands to generate.