2.8, 2.9: LTTng 2.8 available for Buildroot 2016.11
[lttng-docs.git] / 2.8 / lttng-docs-2.8.txt
index b6f8033459b62d1e1600a26bad15926807f322a1..f667cc0061cda0099e3368040f58950e370bde74 100644 (file)
@@ -1,7 +1,7 @@
 The LTTng Documentation
 =======================
 Philippe Proulx <pproulx@efficios.com>
-v2.8, 25 October 2016
+v2.8, 2 December 2016
 
 
 include::../common/copyright.txt[]
@@ -112,9 +112,10 @@ lttng enable-event --log4j my_logger \
 +
 See man:lttng-status(1).
 
-** New `lttng metadata regenerate` command to regenerate the metadata
-   file of an LTTng trace at any moment. This command is meant to be
-   used to resample the wall time following a major
+** New `lttng metadata regenerate` command to
+   <<metadata-regenerate,regenerate the metadata file of an LTTng
+   trace>> at any moment. This command is meant to be used to resample
+   the wall time following a major
    https://en.wikipedia.org/wiki/Network_Time_Protocol[NTP] correction
    so that a system which boots with an incorrect wall time can be
    traced before its wall time is NTP-corrected.
@@ -371,46 +372,43 @@ but note that:
   applications.
 
 [role="growable"]
-.Availability of LTTng{nbsp}{revision} for major Linux distributions.
+.Availability of LTTng{nbsp}{revision} for major Linux distributions as of 2 December 2016.
 |====
 |Distribution |Available in releases |Alternatives
 
 |Ubuntu
-|<<ubuntu,Ubuntu{nbsp}16.10 _Yakkety Yak_>>
+|<<ubuntu,Ubuntu{nbsp}16.10 _Yakkety Yak_>>.
 |LTTng{nbsp}{revision} for Ubuntu{nbsp}14.04 _Trusty Tahr_
 and Ubuntu{nbsp}16.04 _Xenial Xerus_:
 <<ubuntu-ppa,use the LTTng Stable{nbsp}{revision} PPA>>.
 
+LTTng{nbsp}2.9 for Ubuntu{nbsp}14.04 _Trusty Tahr_
+and Ubuntu{nbsp}16.04 _Xenial Xerus_:
+link:/docs/v2.9#doc-ubuntu-ppa[use the LTTng Stable{nbsp}2.9 PPA].
+
 <<building-from-source,Build LTTng{nbsp}{revision} from source>> for
 other Ubuntu releases.
 
 |Fedora
-|_Not available_
-|LTTng{nbsp}{revision} for Fedora{nbsp}25 and Fedora{nbsp}26 (not
-released yet).
-
-<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
+|<<fedora,Fedora{nbsp}25>>.
+|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
 other Fedora releases.
 
 |Debian
-|<<debian,Debian "stretch" (testing)>>
-|
-<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
+|<<debian,Debian "stretch" (testing)>>.
+|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
 previous Debian releases.
 
 |openSUSE
 |_Not available_
-|LTTng{nbsp}2.7 for openSUSE Leap{nbsp}42.1.
-
-<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
-other openSUSE releases.
+|<<building-from-source,Build LTTng{nbsp}{revision} from source>>.
 
 |Arch Linux
-|Latest AUR packages.
-|
+|_Not available_
+|link:/docs/v2.9#doc-arch-linux[LTTng{nbsp}2.9 from the AUR].
 
 |Alpine Linux
-|<<alpine-linux,Alpine Linux "edge">>
+|<<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
@@ -421,21 +419,13 @@ other Alpine Linux releases.
 |
 
 |Buildroot
-|_Not available_
-|LTTng{nbsp}{revision} for Buildroot{nbsp}2016.11 (not released yet).
-
-LTTng{nbsp}2.7 for Buildroot{nbsp}2016.02, Buildroot{nbsp}2016.05,
-and Buildroot{nbsp}2016.08.
-
-<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
+|<<buildroot,Buildroot 2016.11>>.
+|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
 other Buildroot releases.
 
 |OpenEmbedded and Yocto
-|<<oe-yocto,`openembedded-core` layer since 3{nbsp}September 2016>>
-|LTTng{nbsp}2.7 for OpenEmbedded from 1{nbsp}December 2016 until
-3{nbsp}September 2016.
-
-<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
+|<<oe-yocto,Yocto Project{nbsp}2.2 _Morty_>> (`openembedded-core` layer).
+|<<building-from-source,Build LTTng{nbsp}{revision} from source>> for
 other OpenEmbedded releases.
 |====
 
@@ -447,7 +437,7 @@ LTTng{nbsp}{revision} is available on Ubuntu{nbsp}16.10 _Yakkety Yak_.
 For previous releases of Ubuntu, <<ubuntu-ppa,use the LTTng
 Stable{nbsp}{revision} PPA>>.
 
-To install LTTng{nbsp}{revision} on Ubuntu 16.10{nbsp}_Yakkety Yak_:
+To install LTTng{nbsp}{revision} on Ubuntu{nbsp}16.10 _Yakkety Yak_:
 
 . Install the main LTTng{nbsp}{revision} packages:
 +
@@ -472,7 +462,7 @@ sudo apt-get install liblttng-ust-agent-java
 --
 
 . **If you need to instrument and trace
-  <<python-application,Python applications>>**, install the
+  <<python-application,Python{nbsp}3 applications>>**, install the
   LTTng-UST Python agent:
 +
 --
@@ -529,7 +519,7 @@ sudo apt-get install liblttng-ust-agent-java
 --
 
 . **If you need to instrument and trace
-  <<python-application,Python applications>>**, install the
+  <<python-application,Python{nbsp}3 applications>>**, install the
   LTTng-UST Python agent:
 +
 --
@@ -540,6 +530,54 @@ sudo apt-get install python3-lttngust
 --
 
 
+[[fedora]]
+=== Fedora
+
+To install LTTng{nbsp}{revision} on Fedora{nbsp}25:
+
+. Install the LTTng-tools{nbsp}{revision} and LTTng-UST{nbsp}{revision}
+  packages:
++
+--
+[role="term"]
+----
+sudo yum install lttng-tools
+sudo yum install lttng-ust
+----
+--
+
+. Download, build, and install the latest LTTng-modules{nbsp}{revision}:
++
+--
+[role="term"]
+----
+cd $(mktemp -d) &&
+wget http://lttng.org/files/lttng-modules/lttng-modules-latest-2.8.tar.bz2 &&
+tar -xf lttng-modules-latest-2.8.tar.bz2 &&
+cd lttng-modules-2.8.* &&
+make &&
+sudo make modules_install &&
+sudo depmod -a
+----
+--
+
+[IMPORTANT]
+.Java and Python application instrumentation and tracing
+====
+If you need to instrument and trace <<java-application,Java
+applications>> on openSUSE, you need to build and install
+LTTng-UST{nbsp}{revision} <<building-from-source,from source>> and pass
+the `--enable-java-agent-jul`, `--enable-java-agent-log4j`, or
+`--enable-java-agent-all` options to the `configure` script, depending
+on which Java logging framework you use.
+
+If you need to instrument and trace <<python-application,Python
+applications>> on openSUSE, you need to build and install
+LTTng-UST{nbsp}{revision} from source and pass the
+`--enable-python-agent` option to the `configure` script.
+====
+
+
 [[debian]]
 === Debian
 
@@ -580,8 +618,8 @@ sudo apt-get install python3-lttngust
 [[alpine-linux]]
 === Alpine Linux
 
-To install LTTng{nbsp}{revision} (tracing control and user space
-tracing) on Alpine Linux "edge":
+To install LTTng-tools{nbsp}{revision} and LTTng-UST{nbsp}{revision} on
+Alpine Linux "edge":
 
 . Make sure your system is
   https://wiki.alpinelinux.org/wiki/Edge[configured for "edge"].
@@ -626,13 +664,34 @@ sudo depmod -a
 --
 
 
+[[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}&#8594; **Debugging, profiling and benchmark**,
+  check **lttng-modules** and **lttng-tools**.
+. In **Target packages**{nbsp}&#8594; **Libraries**{nbsp}&#8594;
+  **Other**, check **lttng-libust**.
+
+
 [[oe-yocto]]
 === OpenEmbedded and Yocto
 
 LTTng{nbsp}{revision} recipes are available in the
 http://layers.openembedded.org/layerindex/branch/master/layer/openembedded-core/[`openembedded-core`]
-layer of OpenEmbedded since 3{nbsp}September 2016
-under the following names:
+layer for Yocto Project{nbsp}2.2 _Morty_ under the following names:
 
 * `lttng-tools`
 * `lttng-modules`
@@ -2631,7 +2690,7 @@ holding more than one tracepoint providers.
 Once you <<tpp-header,create a tracepoint provider header file>>, you
 can use the `tracepoint()` macro in your application's
 source code to insert the tracepoints that this header
-<<defining-tracepoints,defined>> defines.
+<<defining-tracepoints,defines>>.
 
 The `tracepoint()` macro takes at least two parameters: the tracepoint
 provider name and the tracepoint name. The corresponding tracepoint
@@ -2840,10 +2899,11 @@ In the following diagrams, we use the following file names:
 `libemon.so`::
   User library shared object file.
 
-The red star indicates that this object file is instrumented
-(contains code which uses the `tracepoint()` macro). The spring
-symbol between the application and a library means the application is
-linked with the library at build time.
+We use the following symbols in the diagrams of table below:
+
+[role="img-100"]
+.Symbols used in the build scenario diagrams.
+image::ust-sit-symbols.png[]
 
 We assume that path:{.} is part of the env:LD_LIBRARY_PATH environment
 variable in the following instructions.
@@ -3292,7 +3352,7 @@ include::../common/ust-sit-step-tp-so.txt[]
 To build the instrumented user library:
 
 . In path:{emon.c}, before including path:{tpp.h}, add the
-  following line:
+  following lines:
 +
 --
 [source,c]
@@ -3379,7 +3439,7 @@ include::../common/ust-sit-step-tp-so.txt[]
 To build the instrumented user library:
 
 . In path:{emon.c}, before including path:{tpp.h}, add the
-  following line:
+  following lines:
 +
 --
 [source,c]
@@ -3528,7 +3588,7 @@ include::../common/ust-sit-step-tp-so.txt[]
 To build the instrumented user library:
 
 . In path:{emon.c}, before including path:{tpp.h}, add the
-  following line:
+  following lines:
 +
 --
 [source,c]
@@ -3601,7 +3661,7 @@ include::../common/ust-sit-step-tp-so.txt[]
 To build the instrumented user library:
 
 . In path:{emon.c}, before including path:{tpp.h}, add the
-  following line:
+  following lines:
 +
 --
 [source,c]
@@ -4304,10 +4364,8 @@ Assuming no event record is lost, having only the function addresses on
 entry is enough to create a call graph, since an event record always
 contains the ID of the CPU that generated it.
 +
-You can use a tool like
-https://sourceware.org/binutils/docs/binutils/addr2line.html[cmd:addr2line]
-to convert function addresses back to source file names and
-line numbers.
+You can use a tool like man:addr2line(1) to convert function addresses
+back to source file names and line numbers.
 
 * **path:{liblttng-ust-cyg-profile.so}** is a more robust variant
 which also works in use cases where event records might get discarded or
This page took 0.027689 seconds and 4 git commands to generate.