LTTNG-GEN-TP(1)

NAME
lttng-gen-tp — LTTng UST 2.x tracepoint code generator

SYNOPSIS

lttng-gen-tp [OPTIONS] TEMPLATE_FILE

DESCRIPTION

The LTTng project aims at providing highly efficient tracing tools for Linux. Its tracers help in tracking down performance issues and debugging problems involving multiple concurrent processes and threads. Tracing across multiple systems is also possible.

The lttng-gen-tp tool simplifies the generation of the UST tracepoint files. It takes a simple template file and generates the necessary code to use the defined tracepoints in your application. The section TEMPLATE FILE FORMAT describes the content of the template file.

Currently, the tool can generate the .h, .c and .o associated with your tracepoint. The generated .h can be directly included in your application. You can let the tool generate the .o or compile the .c yourself. You can compile the .c into a .o, .a or .so at your choice and link it with your application. Refer to the UST documentation for the advantages and disadvantage of each form. To compile the resulting .c file, you need to add the options "-llttng-ust -I.".

OPTIONS

This program follows the usual GNU command line syntax with long options starting with two dashes. Below is a summary of the available options.

-h, --help
    Show summary of possible options and commands.

-v, --verbose
    Increase verbosity.

-o, --output
    Specify the generated file. The type of the generated file depend on the file extension (.h, .c, .o). This option can be specified multiple times to generate different file type.

When no output is specified the default files are generated with the same base filename as the template file. The default files are: .h, .c, .o.

TEMPLATE FILE FORMAT

The template file, which has the usual extension .tp, 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 definition.)

You write them as you would write them in a C header file. You can add comments with /* */, // and #.

The provider name (the first field of TRACEPOINT_EVENT) must be the same for the whole file.

Example

TRACEPOINT_EVENT(
        sample_tracepoint,
        message, // Comment
        TP_ARGS(char *, text),
        /* Next are the fields */
        TP_FIELDS(
            ctf_string(message, text)
        )
    )

ENVIRONMENT VARIABLES

When the tool generates a .o file, it will look for the following environment variables

CC  Specify which C compiler to use. If the variable is not specified, the tool will try "cc" and "gcc"

CFLAGS
    Flags directly passed to the compiler

SEE ALSO

lttng-ust(3), lttng(1)

BUGS

If you encounter any issues or usability problem, please report it on our mailing list <lttng-dev@lists.lttng.org> to help improve this project.

CREDITS

lttng-gen-tp is distributed under the GNU General Public License version 2. See the file COPYING for details.

A Web site is available at http://lttng.org for more information on the LTTng project.

You can also find our git tree at http://git.lttng.org.

Mailing lists for support and development: <lttng-dev@lists.lttng.org>.

You can find us on IRC server irc.oftc.net (OFTC) in #lttng.

AUTHORS

lttng-gen-tp is written by Yannick Brosseau <yannick.brosseau@gmail.com>.