From mboxrd@z Thu Jan 1 00:00:00 1970 From: cpthk@hotmail.com (Jeffrey Chen) Date: Wed, 24 Jun 2015 18:42:20 -0700 Subject: [lttng-dev] LTTng c++ loglevel not being set Message-ID: 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: