LTTNG-GEN-TP(1)                 LTTng Manual                 LTTNG-GEN-TP(1)

NAME         top

       lttng-gen-tp - Generate LTTng-UST tracepoint provider code

SYNOPSIS         top

       lttng-gen-tp [--verbose] [--output=FILE.c]
                    [--output=FILE.h] [--output=FILE.o] TEMPLATE

DESCRIPTION         top

       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.

   Template file format
       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 #.

           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 provider name

               // Tracepoint/event name

               // Tracepoint arguments (input)
               TP_ARGS(char *, text),

               // Tracepoint/event fields (output)
                   ctf_string(message, text)

OPTIONS         top

       -o, --output=FILE
           Do not generate default files: generate FILE.

           The extension of FILE determines what is generated, amongst .h,
           .c, and .o. This option can be used more than one time to
           generate different file types.

       -v, --verbose
           Increase verbosity.

       -h, --help
           Show command help.


           C compiler to use. Default: cc, then gcc if cc is not found. This
           option is only relevant when generating the .o file.

           Flags and options passed directly to the compiler ($CC). This
           option is only relevant when generating the .o file.

EXIT STATUS         top



BUGS         top

       If you encounter any issue or usability problem, please report it on
       the LTTng bug tracker <>.

RESOURCES         top

       ·   LTTng project website <>

       ·   LTTng documentation <>

       ·   Git repositories <>

       ·   GitHub organization <>

       ·   Continuous integration <>

       ·   Mailing list <> for support and

       ·   IRC channel <irc://>: #lttng on

COPYRIGHTS         top

       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 <
       ust/blob/master/COPYING> file for more details.

AUTHOR         top

       lttng-gen-tp was originally written by Yannick Brosseau
       <>. It is currently maintained by
       Mathieu Desnoyers <>.

SEE ALSO         top


COLOPHON         top

       This page is part of the LTTng-UST (    LTTng Userspace Tracer)
       project.  Information about the project can be found at 
       ⟨⟩.  It is not known how to report bugs for this man
       page; if you know, please send a mail to  This
       page was obtained from the project's upstream Git repository
       ⟨git://⟩ on 2018-02-02.  (At that time,
       the date of the most recent commit that was found in the repository
       was 2017-12-19.)  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-to-
       date source for the page, or you have corrections or improvements to
       the information in this COLOPHON (which is not part of the original
       manual page), send a mail to

LTTng 2.10.0-rc1                 08/02/2017                  LTTNG-GEN-TP(1)

Pages that refer to this page: lttng-ust(3)