lttng-gen-tp — Generate LTTng-UST tracepoint provider code
The lttng-gen-tp
tool simplifies the generation of LTTng-UST
tracepoint provider files. It takes a simple template file, TEMPLATE
,
and generates the necessary C code to use the defined tracepoints in
your application. See the Template file format
section below for more information about the format of TEMPLATE
.
Currently, lttng-gen-tp
can generate the .h
, .c
, and .o
files
associated with your tracepoint provider. The generated .h
file can be
included directly in your application. You can let lttng-gen-tp
generate the .o
file or compile the .c
file yourself. See
lttng-ust(3) for more information about compiling LTTng-UST
tracepoint providers.
By default, lttng-gen-tp
generates the .h
, .c
, and .o
files,
their basename being the basename of TEMPLATE
. You can generate one or
more specific file types with the --output
option, repeated if
needed.
The template file, which usually has the .tp
extension, contains a
list of TRACEPOINT_EVENT()
definitions and other optional definition
entries, like TRACEPOINT_LOGLEVEL()
. See lttng-ust(3) for
the complete list of available definitions.
The TRACEPOINT_EVENT()
definitions are written as you would write them
in an LTTng-UST template provider header file. C comments are supported
(/* */
and //
), as well as lines starting with #
.
Note:The provider name (the first argument of TRACEPOINT_EVENT()
)
must be the same in all the TRACEPOINT_EVENT()
macros of TEMPLATE
.
Here’s an example:
TRACEPOINT_EVENT( // Tracepoint provider name my_provider, // Tracepoint/event name my_event, // Tracepoint arguments (input) TP_ARGS(char *, text), // Tracepoint/event fields (output) TP_FIELDS( ctf_string(message, text) ) )
CC
C compiler to use. Default: cc
, then gcc
if cc
is not found.
This option is only relevant when generating the .o
file.
CFLAGS
Flags and options passed directly to the compiler ($CC
).
This option is only relevant when generating the .o
file.
Success
Error
If you encounter any issue or usability problem, please report it on the LTTng bug tracker.
Mailing list for support and
development: lttng-dev@lists.lttng.org
IRC channel: #lttng
on irc.oftc.net
lttng-gen-tp
is part of the LTTng-UST project.
lttng-gen-tp
is distributed under the
GNU General
Public License, version 2. See the
COPYING
file
for more details.