Bug #1160
closedcontrary to docs, lttng-ust/tools do not provide LTTNG_TRACEPOINT_ENUM macro (without lttng-modules)
0%
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
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.
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
Updated by Jonathan Rajotte Julien over 6 years ago
- Status changed from New to Resolved