[lttng-dev] lttng-ust missing tracepoints

Gerlando Falauto gerlando.falauto at keymile.com
Thu May 15 13:39:42 EDT 2014


I created a simple tracepoint following the examples within lttng-ust 
documentation. The .C source (travcepoint provider) and header files are 
generated by means of the lttng-gen-tp helper script and then compiled 
and linked manually within the application.

However, my tracepoints are not displayed.

I start tracing with the usual sequence:
lttng create
lttng enable-event -u -a --loglevel=TRACE_DEBUG
lttng start
lttng stop
lttng view

I also tried double checking:

# lttng list auto-19700101-003803
Tracing session auto-19700101-003803: [inactive]
     Trace path: /root/lttng-traces/auto-19700101-003803

=== Domain: UST global ===

Buffer type: per UID

- channel0: [enabled]

       overwrite mode: 0
       subbufers size: 131072
       number of subbufers: 4
       switch timer interval: 0
       read timer interval: 0
       output: mmap()

       * (loglevel <= TRACE_DEBUG (14)) (type: tracepoint) [enabled]

I thoroughly checked the instructions at
and everything looks correct to me.

I also doubled checked that the code gets indeed compiled and linked 
correctly (i.e. make is not playing nasty tricks on me).

If I put an additional tracef() call exactly where my tracepoint is 
located, this gets traced without a problem. So the infrastructure 
should be all working in my opinion.

What I find weird is that if I purposedly make a mistake within 
TRACEPOINT_LOGLEVEL() (e.g. wrong provider or tracepoint name), I get no 
complaint from the compiler or linker.
The initial value was TRACE_WARNING, I also tried removing that part 
altogether, everything to no avail. tracef() keeps working fine though.

I also checked the compiler, it's gcc, not g++ (though the application 
using it is indeed compiled with g++). I double checked on both arm and 
powerpc (in both cases it's always about cross-compiling).

What could I be missing?

Thank you,

More information about the lttng-dev mailing list