[lttng-dev] LTTng c++ loglevel not being set

Jeffrey Chen cpthk at hotmail.com
Wed Jun 24 21:42:20 EDT 2015

I noticed a macro issue with LTTng under C++. The TRACEPOINT_LOGLEVEL would be ignored.

Here are my steps to repro the issue. My .tp file has the TRACEPOINT_LOGLEVEL macro set.
1. I generated the hello-tp.c file from the hello-tp.tp file using the lttng-gen-tp tool.
2. I renamed the generated .c file into .cpp and compiled with `g++ -c -I. hello-tp.cpp`
3. I wrote my c++ code called and call tracepoint macro, saved to hello.cpp, compiled with `g++ -c -I. hello.cpp`
4. I compile to an executable with `g++ -o hello hello.o hello-tp.o -llttng-ust -ldl`
5. I run the executable, and noticed the loglevel I set in the .tp file is not working. All the traces are still being written as default loglevel TRACE_DEBUG_LINE.

I tried confirming it by using `lttng list --userspace` command and I see "hello_world:my_first_tracepoint (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint)"
You could see the loglevel was not set.

I tried the same steps without renaming to cpp files and build with `gcc` command and it works fine. I also tried without renaming to cpp files but compiled with `g++` command, but it also does not work. It seems to have something to do with c++ name mangling. Anyone noticed this issue? Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20150624/b5e0e989/attachment.html>

More information about the lttng-dev mailing list