Provided by: liblttng-ust-dev_2.13.4-1ubuntu1_amd64 bug

NAME

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

SYNOPSIS

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

DESCRIPTION

       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)
               )
           )

OPTIONS

       -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.

ENVIRONMENT VARIABLES

       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.

EXIT STATUS

       0
           Success

       Non-zero
           Error

BUGS

       If you encounter any issue or usability problem, please report it on the LTTng bug tracker
       <https://bugs.lttng.org/projects/lttng-ust>.

RESOURCES

       •   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: lttng-
           dev@lists.lttng.org

       •   IRC channel <irc://irc.oftc.net/lttng>: #lttng on irc.oftc.net

COPYRIGHTS

       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 for more details.

AUTHOR

       lttng-gen-tp was originally written by Yannick Brosseau
       <mailto:yannick.brosseau@gmail.com>. It is currently maintained by Mathieu Desnoyers
       <mailto:mathieu.desnoyers@efficios.com>.

SEE ALSO

       lttng-ust(3)