ptt_trace - PTT daemon


ptt_trace [options] cmd [cmd_param...]


Its primary function is to collect the data generated by the instrumented NPTL and to commit it in a file. It links cmd to the instrumented libpthread building in the installation process.


-s size
set the buffer size

display the help

be verbose

-m max
split in files of max bytes. If 0, don't split file (default).

Warning: max is not a strict limit, but only an indication for the PTT daemon.

-f max
Keep only max file on the disk. The additional file will be erased.

-n name
Name of the prefix of the trace file. The default is trace_[date]_[pid].

-l level
set the log level

You can select multiple level with comma. For example if you want mutex and cond-var, use `LEVEL_MUTEX_ALL,LEVEL_COND_ALL'.

Following values can be used:

LEVEL_NONE to trace nothing
LEVEL_ALL to trace everything
LEVEL_IO to trace only function calls and returns
LEVEL_THREAD_ALL to trace everything about threads
LEVEL_THREAD_IO to trace only function calls and returns about threads
LEVEL_BARRIER_ALL to trace everything about barriers
LEVEL_BARRIER_IO to trace only function calls and returns about barriers
LEVEL_MUTEX_ALL to trace everything about mutexes
LEVEL_MUTEX_IO to trace only function calls and returns about mutexes
LEVEL_COND_ALL to trace everything about conditional variables
LEVEL_COND_IO to trace only function calls and returns conditional variables
LEVEL_SEM_ALL to trace everything about semaphores
LEVEL_SEM_IO to trace only function calls and returns semaphores
links cmd to the non-instrumented NPTL building in the installation process. Therefore, the trace mechanism won't be active. This can be useful to compare results with and without the trace mechanism (for example, to measure the impact of the instrumentation in the patched library). Other options will have no effect if you use -ori.

Note: This option is not available if PTT is built with the configure --with-ptt-friendly-glibc option.


Stress programs sometimes hang when using PTT.

On some (rare) systems, dynamic linkage to libpthread won't work For such systems, relink your application to the instrumented glibc, using the following gcc flags:

-Wl,-dynamic-linker,/<path-to-glibc>/lib/ -Wl,-rpath,/<path-to-glibc>/lib

Flags to apply for your system are written in the file patch_glibc/flags.txt created when building glibc.


ptt_level(1), ptt_view(1), ptt_paje(1)


Matthieu CASTET, Nadege GRIESSER, Guillaume DURANCEAU