Project

General

Profile

Actions

Bug #1160

closed

contrary to docs, lttng-ust/tools do not provide LTTNG_TRACEPOINT_ENUM macro (without lttng-modules)

Added by Vlad Roubtsov over 6 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
05/09/2018
Due date:
% Done:

0%

Estimated time:

Description

Greetings,

After going through the LTTng docs on how to build and install I chose to make a custom build of v2.10 (the yum version in my OS, Centos 7, is much older). Because I am only interested in a minimal LTTng libset sufficient for userspace tracing, I chose to do this via the vlttng tool and specifically with this command:

vlttng -p babeltrace-stable-1.5 -p lttng-tools-stable-2.10 -p lttng-ust-stable-2.10 -p urcu-stable-0.10 my_env

The resulting build appears to be fully functional except the headers contain no definition of LTTNG_TRACEPOINT_ENUM even though I can find sub-macros like ctf_enum(). After searching through the git sources I confirmed that this macro is defined in the lttng-modules project. I am not sure if this is by design or is an issue with the particular combination of projects I chose in vlttng.

It seems to me that if LTTng enums are fully supported by lttng-tools (seems like they should be, since this is a CTF feature), the LTTNG_TRACEPOINT_ENUM should be available without having to also build lttng-modules.

Further details:

>uname -a: Linux <host> 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Jan 4 01:06:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
>cat /etc/centos-release: CentOS Linux release 7.4.1708 (Core)

LTTng version: 2.10, built as shown above

Cheers,
Vlad

Actions #1

Updated by Philippe Proulx over 6 years ago

Hi Vlad.

The online reference for the LTTNG_TRACEPOINT_ENUM() macro, https://lttng.org/docs/v2.10/#doc-lttng-tracepoint-enum, is under the LTTng-modules section. We have some LTTng-modules API reference in the online LTTng Documentation because it's the only place we can publish public LTTng-modules documentation, as this project does not have man pages, for example.

As for LTTng-UST, you can find the complete reference and documentation in its man pages: see https://lttng.org/man/. In https://lttng.org/man/3/lttng-ust/v2.10/, you can find how to use the TRACEPOINT_ENUM() macro: that's it, in the LTTng-UST API, there's no LTTNG_ prefixing the macro names.

The online LTTng Documentation contains some examples of how to use LTTng-UST, but, as much as possible, it explicitly refers to the appropriate online man pages for a thorough reference.

Actions #2

Updated by Vlad Roubtsov over 6 years ago

Hi Philippe,

Thanks for a very prompt response. You're correct. I can't believe I didn't spot TRACEPOINT_ENUM in tracepoint.h. There is no issue then.

Cheers,
Vlad

Actions #3

Updated by Jonathan Rajotte Julien over 6 years ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF