- (see tracepoint.h and tests/hello/tp.h).
- - Link application with -lust.
- - (TODO: start tracing with the "lttng" command from lttng-tools)
+ See lttng/tracepoint.h, and examples.
+ - Either compile the Tracepoint probes with the application:
+ - Use "-I." for the compilation unit containing the tracepoint
+ provider include (e.g. tp.c).
+ - Link application with "-ldl -llttng-ust".
+ - Example:
+ tests/hello/ hello.c tp.c ust_tests_hello.h Makefile.example
+ - Or compile the Tracepoint probes separately from the application,
+ using dynamic linking:
+ - Compile the tracepoint provider with "-I.".
+ - Link the tracepoint provider with "-llttng-ust".
+ - Link application with "-ldl".
+ - Set a LD_PRELOAD environment to preload the tracepoint provider
+ shared object before starting the application when tracing is
+ needed.
+ - Example:
+ - tests/demo/ demo.c tp*.c ust_tests_demo*.h demo-trace
+ - Note about dlopen() usage: due to locking side-effects due to the
+ way libc lazily resolves Thread-Local Storage (TLS) symbols when a
+ library is dlopen'd, linking the tracepoint probe or liblttng-ust
+ with dlopen() is discouraged. They should be linked with the
+ application using "-llibname" or loaded with LD_PRELOAD.
+ - Enable instrumentation and control tracing with the "lttng" command
+ from lttng-tools. See lttng-tools doc/quickstart.txt.