[lttng-dev] [LTTng-UST RFC] Tracepoint Loglevels Specification

Matthew Khouzam matthew.khouzam at ericsson.com
Thu Feb 2 13:00:11 EST 2012


Would you want to automate tracing of messages  too and then use
TRACE_MESSAGE_SEND/RECV and TRACE_ENTRY/EXIT style elements? Still not
sure if there's overlap with domain/marker/loglevels. This is a sincere
unironic but poorly constructed question.

On 12-02-02 10:56 AM, Mathieu Desnoyers wrote:
> * Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
>> On 2012-01-31 17:41, Mathieu Desnoyers wrote:
>>> Hi,
>>>
>>> TRACE_SYSTEM   7
>>> information has system-level scope
>>>
>>> TRACE_PROCESS  8
>>> information has process-level scope
>>>
>>> TRACE_MODULE   9
>>> information has module (executable/library) scope
>>>
>>> TRACE_UNIT     10
>>> information has compilation unit scope
>>>
>>> TRACE_CLASS    11
>>> information has class-level scope
>>>
>>> TRACE_OBJECT   12
>>> information has object-level scope
>>>
>>> TRACE_FUNCTION 13
>>> information has function-level scope
>>>
>> First thought: I don't think that these levels (7-13) correspond to levels.
>> These divisions sounds more like a part of the namespacing of the event
>> and not level.
> Reply to both Matthew and you:
>
> When a specific problem requires more data to solve, then you can enable
> the more detailed levels (between INFO and DEBUG) in a fine-grained
> fashion, gathering more and more data as the investigation narrows down
> the problem scope (so you can select more precisely which subset of the
> tracing domain you are interested into).
>
> I think wildcards and loglevels will nicely complement each other for
> this kind of iterative investigation use-case. As you enable
> finer-grained wildcards, you can afford to increase the loglevel
> verbosity. But at the beginning of the investigation, you will typically
> want to trace the whole world, but at a much less verbose loglevel.
>
> The reason why I propose runtime/build entities for this more detailed
> loglevel naming scheme is because the level at which someone thinks when
> debugging a problem is that "I need to understand what is happening
> within a process, so I will activate the process level", or "I need to
> understand interaction between various programs across the system, so I
> will enable system level".
>
> Indeed, as we dig further down within a process, we have to use static
> compile-time/link-time entities to specify a smaller granularity.
>
> The reason why I propose these entities rather than more free-form
> "major/minor" is because I think we really need to impose pre-defined
> loglevels that will allow selection of verbosity across the entire
> system (all applications) in a pre-defined way. If the semantic is too
> loose, then we miss the ability to let users know what is happening when
> they select "minor" instead of "major", because these identifiers do not
> map to anything concrete for the user.
>
> I changed the detailed part of the list this morning, removing "object"
> and "class". New list:
>
>  * TRACE_EMERG    0
>  * system is unusable
>  *
>  * TRACE_ALERT    1
>  * action must be taken immediately
>  *
>  * TRACE_CRIT     2
>  * critical conditions
>  *
>  * TRACE_ERR      3
>  * error conditions
>  *
>  * TRACE_WARNING  4
>  * warning conditions
>  *
>  * TRACE_NOTICE   5
>  * normal, but significant, condition
>  *
>  * TRACE_INFO     6
>  * informational message
>  *
>  * TRACE_SYSTEM   7
>  * information has system-level scope (set of programs)
>  *
>  * TRACE_PROGRAM  8
>  * information has program-level scope (set of processes)
>  *
>  * TRACE_PROCESS  9
>  * information has process-level scope (set of modules)
>  *
>  * TRACE_MODULE   10
>  * information has module (executable/library) scope (set of units)
>  *
>  * TRACE_UNIT     11
>  * information has compilation unit scope (set of functions)
>  *
>  * TRACE_FUNCTION 12
>  * information has function-level scope
>  *
>  * TRACE_DEFAULT  13
>  * default trace loglevel (TRACEPOINT_EVENT default)
>  *
>  * TRACE_VERBOSE  14
>  * verbose information
>  *
>  * TRACE_DEBUG    15
>  * debug-level message (trace_printf default)
>
> Thoughts ?
>
> Mathieu
>



More information about the lttng-dev mailing list