| NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ENVIRONMENT VARIABLES | EXIT STATUS | BUGS | RESOURCES | COPYRIGHTS | AUTHOR | SEE ALSO | COLOPHON | |
|  | 
LTTNG-GEN-TP(1)                LTTng Manual               LTTNG-GEN-TP(1)
       lttng-gen-tp - Generate LTTng-UST tracepoint provider code
       lttng-gen-tp [--verbose] [--output=FILE.c]
                    [--output=FILE.h] [--output=FILE.o] TEMPLATE
       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 LTTNG_UST_TRACEPOINT_EVENT() definitions and other
       optional definition entries, like LTTNG_UST_TRACEPOINT_LOGLEVEL().
       See lttng-ust(3) for the complete list of available definitions.
       The LTTNG_UST_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
           LTTNG_UST_TRACEPOINT_EVENT()) must be the same in all the
           LTTNG_UST_TRACEPOINT_EVENT() macros of TEMPLATE.
       Here’s an example:
           LTTNG_UST_TRACEPOINT_EVENT(
               // Tracepoint provider name
               my_provider,
               // Tracepoint/event name
               my_event,
               // Tracepoint arguments (input)
               LTTNG_UST_TP_ARGS(char *, text),
               // Tracepoint/event fields (output)
               LTTNG_UST_TP_FIELDS(
                   lttng_ust_field_string(message, text)
               )
           )
       -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.
       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.
       0
           Success
       Non-zero
           Error
       If you encounter any issue or usability problem, please report it
       on the LTTng bug tracker <https://bugs.lttng.org/projects/lttng-
       ust>.
       •   LTTng project website <http://lttng.org>
       •   LTTng documentation <http://lttng.org/docs>
       •   Git repositories <http://git.lttng.org>
       •   GitHub organization <http://github.com/lttng>
       •   Continuous integration <http://ci.lttng.org/>
       •   Mailing list <http://lists.lttng.org> for support and
           development: [email protected]
       •   IRC channel <irc://irc.oftc.net/lttng>: #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 <http://www.gnu.org/licenses/old-
       licenses/gpl-2.0.en.html>. See the COPYING
       <https://github.com/lttng/lttng-ust/blob/v2.14/COPYING> file for
       more details.
       lttng-gen-tp was originally written by Yannick Brosseau
       <mailto:[email protected]>. It is currently maintained by
       Mathieu Desnoyers <mailto:[email protected]>.
       lttng-ust(3)
       This page is part of the LTTng-UST (LTTng Userspace Tracer)
       project.  Information about the project can be found at 
       ⟨http://lttng.org/⟩.  It is not known how to report bugs for this
       man page; if you know, please send a mail to [email protected].
       This page was obtained from the tarball fetched from
       ⟨https://lttng.org/files/lttng-ust/⟩ on 2025-08-11.  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 [email protected]
LTTng 2.14.0-pre                06/07/2024                LTTNG-GEN-TP(1)
Pages that refer to this page: lttng-ust(3)