The LTTng Documentation
=======================
Philippe Proulx <pproulx@efficios.com>
-v2.8, 28 November 2016
+v2.8, 2 December 2016
include::../common/copyright.txt[]
applications.
[role="growable"]
-.Availability of LTTng{nbsp}{revision} for major Linux distributions as of 28 November 2016.
+.Availability of LTTng{nbsp}{revision} for major Linux distributions as of 2 December 2016.
|====
|Distribution |Available in releases |Alternatives
-|Ubuntu
+|https://www.ubuntu.com/[Ubuntu]
|<<ubuntu,Ubuntu{nbsp}16.10 _Yakkety Yak_>>.
|LTTng{nbsp}{revision} for Ubuntu{nbsp}14.04 _Trusty Tahr_
and Ubuntu{nbsp}16.04 _Xenial Xerus_:
<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
other Ubuntu releases.
-|Fedora
+|https://getfedora.org/[Fedora]
|<<fedora,Fedora{nbsp}25>>.
|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
other Fedora releases.
-|Debian
+|https://www.debian.org/[Debian]
|<<debian,Debian "stretch" (testing)>>.
|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
previous Debian releases.
-|openSUSE
+|https://www.opensuse.org/[openSUSE]
|_Not available_
|<<building-from-source,Build LTTng{nbsp}{revision} from source>>.
-|Arch Linux
+|https://www.archlinux.org/[Arch Linux]
|_Not available_
|link:/docs/v2.9#doc-arch-linux[LTTng{nbsp}2.9 from the AUR].
-|Alpine Linux
+|https://alpinelinux.org/[Alpine Linux]
|<<alpine-linux,Alpine Linux "edge">>.
|LTTng{nbsp}{revision} for Alpine Linux{nbsp}3.5 (not released yet).
<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
other Alpine Linux releases.
-|RHEL and SLES
+|https://www.redhat.com/[RHEL] and https://www.suse.com/[SLES]
|See http://packages.efficios.com/[EfficiOS Enterprise Packages].
|
-|Buildroot
-|_Not available_
-|LTTng{nbsp}{revision} for Buildroot{nbsp}2016.11 (not released yet).
-
-<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
+|https://buildroot.org/[Buildroot]
+|<<buildroot,Buildroot 2016.11>>.
+|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
other Buildroot releases.
-|OpenEmbedded and Yocto
+|http://www.openembedded.org/wiki/Main_Page[OpenEmbedded] and
+https://www.yoctoproject.org/[Yocto]
|<<oe-yocto,Yocto Project{nbsp}2.2 _Morty_>> (`openembedded-core` layer).
|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
other OpenEmbedded releases.
--
+[[enterprise-distributions]]
+=== RHEL, SUSE, and other enterprise distributions
+
+To install LTTng on enterprise Linux distributions, such as Red Hat
+Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SUSE), please
+see http://packages.efficios.com/[EfficiOS Enterprise Packages].
+
+
+[[buildroot]]
+=== Buildroot
+
+To install LTTng{nbsp}{revision} on Buildroot{nbsp}2016.11:
+
+. Launch the Buildroot configuration tool:
++
+--
+[role="term"]
+----
+make menuconfig
+----
+--
+
+. In **Kernel**, check **Linux kernel**.
+. In **Toolchain**, check **Enable WCHAR support**.
+. In **Target packages**{nbsp}→ **Debugging, profiling and benchmark**,
+ check **lttng-modules** and **lttng-tools**.
+. In **Target packages**{nbsp}→ **Libraries**{nbsp}→
+ **Other**, check **lttng-libust**.
+
+
[[oe-yocto]]
=== OpenEmbedded and Yocto
====
-[[enterprise-distributions]]
-=== RHEL, SUSE, and other enterprise distributions
-
-To install LTTng on enterprise Linux distributions, such as Red Hat
-Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SUSE), please
-see http://packages.efficios.com/[EfficiOS Enterprise Packages].
-
-
[[building-from-source]]
=== Build from source
The following command lines start with cmd:sudo because you need root
privileges to trace the Linux kernel. You can avoid using cmd:sudo if
-your Unix user is a member of the <<lttng-sessiond,tracing group>>.
+your Unix user is a member of the <<tracing-group,tracing group>>.
. Create a <<tracing-session,tracing session>>:
+
To build the instrumented user library:
. In path:{emon.c}, before including path:{tpp.h}, add the
- following line:
+ following lines:
+
--
[source,c]
To build the instrumented user library:
. In path:{emon.c}, before including path:{tpp.h}, add the
- following line:
+ following lines:
+
--
[source,c]
To build the instrumented user library:
. In path:{emon.c}, before including path:{tpp.h}, add the
- following line:
+ following lines:
+
--
[source,c]
To build the instrumented user library:
. In path:{emon.c}, before including path:{tpp.h}, add the
- following line:
+ following lines:
+
--
[source,c]
belongs to the Linux kernel <<domain,tracing domain>>. However, unlike
other instrumentation points in the kernel tracing domain, **any Unix
user** can <<enabling-disabling-events,create an event rule>> which
-matches its event name, not only the root user or users in the tracing
-group.
+matches its event name, not only the root user or users in the
+<<tracing-group,tracing group>>.
To use the LTTng logger:
<<domain,tracing domain>>::
A namespace for event sources.
-tracing group::
+<<tracing-group,tracing group>>::
The Unix group in which a Unix user can be to be allowed to trace the
Linux kernel.