X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=2.11%2Flttng-docs-2.11.txt;h=6079522c3a9c7c03a25e2e0248b063b148f72a68;hb=013242649af64374247a9314f8a65376de4e2cd0;hp=6089b9fe71f92e58792aef8294fcad796e48bfde;hpb=b80824bc133452c8f16fcf9978f8679c0b0a3ff1;p=lttng-docs.git diff --git a/2.11/lttng-docs-2.11.txt b/2.11/lttng-docs-2.11.txt index 6089b9f..6079522 100644 --- a/2.11/lttng-docs-2.11.txt +++ b/2.11/lttng-docs-2.11.txt @@ -1,7 +1,7 @@ The LTTng Documentation ======================= Philippe Proulx -v2.11, 18 October 2019 +v2.11, 30 March 2020 include::../common/copyright.txt[] @@ -170,7 +170,7 @@ when a kernel event occurs. For example: + [role="term"] ---- -$ lttng enable-event --kernel --syscall read +$ lttng enable-event --kernel --syscall open $ lttng add-context --kernel --type=callstack-kernel --type=callstack-user ---- + @@ -298,7 +298,7 @@ exist for Linux: is the de facto function tracer of the Linux kernel. Its user interface is a set of special files in sysfs. * https://perf.wiki.kernel.org/[perf] is - a performance analyzing tool for Linux which supports hardware + a performance analysis tool for Linux which supports hardware performance counters, tracepoints, as well as other counters and types of probes. perf's controlling utility is the cmd:perf command line/curses tool. @@ -371,16 +371,230 @@ but note that: * You only need to install LTTng-UST if you intend to trace user applications. +[role="growable"] +.Availability of LTTng{nbsp}{revision} for major Linux distributions as of 30 March 2020. +|==== +|Distribution |Available in releases + +|https://www.ubuntu.com/[Ubuntu] +|Ubuntu{nbsp}16.04 _Xenial Xerus_ and Ubuntu{nbsp}18.04 _Bionic Beaver_: +<>. + +|https://www.debian.org/[Debian] +|<>. + +|https://www.archlinux.org/[Arch Linux] +|<>. + +|https://getfedora.org/[Fedora] +|xref:fedora[Fedora{nbsp}32 and Fedora{nbsp}33]. + +|https://www.redhat.com/[RHEL] and https://www.suse.com/[SLES] +|See http://packages.efficios.com/[EfficiOS Enterprise Packages]. + +|https://buildroot.org/[Buildroot] +|xref:buildroot[Buildroot{nbsp}2019.11 and Buildroot{nbsp}2020.02]. +|==== + + +[[ubuntu-ppa]] +=== Ubuntu: noch:{LTTng} Stable {revision} PPA + +The https://launchpad.net/~lttng/+archive/ubuntu/stable-{revision}[LTTng +Stable{nbsp}{revision} PPA] offers the latest stable +LTTng{nbsp}{revision} packages for Ubuntu{nbsp}16.04 _Xenial Xerus_ and +Ubuntu{nbsp}18.04 _Bionic Beaver_. + +To install LTTng{nbsp}{revision} from the LTTng Stable{nbsp}{revision} +PPA: + +. Add the LTTng Stable{nbsp}{revision} PPA repository and update the + list of packages: ++ +-- +[role="term"] +---- +# apt-add-repository ppa:lttng/stable-2.10 +# apt-get update +---- +-- + +. Install the main LTTng{nbsp}{revision} packages: ++ +-- +[role="term"] +---- +# apt-get install lttng-tools +# apt-get install lttng-modules-dkms +# apt-get install liblttng-ust-dev +---- +-- + +. **If you need to instrument and trace + <>**, install the LTTng-UST + Java agent: ++ +-- +[role="term"] +---- +# apt-get install liblttng-ust-agent-java +---- +-- + +. **If you need to instrument and trace + <>**, install the + LTTng-UST Python agent: ++ +-- +[role="term"] +---- +# apt-get install python3-lttngust +---- +-- + + +[[debian]] +=== Debian + +To install LTTng{nbsp}{revision} on Debian "bullseye" (testing): + +. Install the main LTTng{nbsp}{revision} packages: ++ +-- +[role="term"] +---- +# apt-get install lttng-modules-dkms +# apt-get install liblttng-ust-dev +# apt-get install lttng-tools +---- +-- + +. **If you need to instrument and trace <>**, install the LTTng-UST Java agent: ++ +-- +[role="term"] +---- +# apt-get install liblttng-ust-agent-java +---- +-- + +. **If you need to instrument and trace <>**, install the LTTng-UST Python agent: ++ +-- +[role="term"] +---- +# apt-get install python3-lttngust +---- +-- + + +[[arch-linux]] +=== Arch Linux + +LTTng-UST{nbsp}{revision} is available in Arch Linux's _community_ +repository, while LTTng-tools{nbsp}{revision} and +LTTng-modules{nbsp}{revision} are available in the +https://aur.archlinux.org/[AUR]. + +To install LTTng{nbsp}{revision} on Arch Linux, using +https://github.com/Jguer/yay[yay] for the AUR packages: + +. Install the main LTTng{nbsp}{revision} packages: ++ +-- +[role="term"] +---- +# pacman -Sy lttng-ust +$ yay -Sy lttng-tools +$ yay -Sy lttng-modules +---- +-- + +. **If you need to instrument and trace <>**, install the LTTng-UST Python agent: ++ +-- +[role="term"] +---- +# pacman -Sy python-lttngust +# pacman -Sy python2-lttngust +---- +-- + + +[[fedora]] +=== Fedora + +To install LTTng{nbsp}{revision} on Fedora{nbsp}32 and Fedora{nbsp}33: + +. Install the LTTng-tools{nbsp}{revision} and LTTng-UST{nbsp}{revision} + packages: ++ +-- +[role="term"] +---- +# yum install lttng-tools +# 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.11.tar.bz2 && +tar -xf lttng-modules-latest-2.11.tar.bz2 && +cd lttng-modules-2.11.* && +make && +sudo make modules_install && +sudo depmod -a +---- +-- + [IMPORTANT] +.Java and Python application instrumentation and tracing ==== -As of 18 October 2019, LTTng{nbsp}{revision} is not available -as distribution packages. +If you need to instrument and trace <> on Fedora, you need to build and install +LTTng-UST{nbsp}{revision} <> 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. -You can <> -to install and use it. +If you need to instrument and trace <> on Fedora, you need to build and install +LTTng-UST{nbsp}{revision} from source and pass the +`--enable-python-agent` option to the `configure` script. ==== +[[buildroot]] +=== Buildroot + +To install LTTng{nbsp}{revision} on Buildroot{nbsp}2019.11 and +Buildroot{nbsp}2020.02: + +. 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**. + + [[building-from-source]] === Build from source @@ -1124,11 +1338,6 @@ source code), you need to specify a tracing domain when <> because all the tracing domains could have tracepoints with the same names. -Some features are reserved to specific tracing domains. Dynamic function -entry and return instrumentation points, for example, are currently only -supported in the Linux kernel tracing domain, but support for other -tracing domains could be added in the future. - You can create <> in the Linux kernel and user space tracing domains. The other tracing domains have a single default channel. @@ -1237,8 +1446,7 @@ reached, the channel's _event record loss mode_ determines what to do. The available event record loss modes are: Discard mode:: - Drop the newest event records until a the tracer releases a - sub-buffer. + Drop the newest event records until the tracer releases a sub-buffer. + This is the only available mode when you specify a <>. @@ -1418,7 +1626,7 @@ for LTTng to record an occuring event. You set the conditions when you <>. -You always attach an event rule to <> when you create +You always attach an event rule to a <> when you create it. When an event passes the conditions of an event rule, LTTng records it @@ -1578,9 +1786,9 @@ Some objects are referenced by name (C string), such as tracing sessions, but most of them require to create a handle first using `lttng_create_handle()`. -The best available developer documentation for `liblttng-ctl` is, as of -LTTng{nbsp}{revision}, its installed header files. Every function and -structure is thoroughly documented. +As of LTTng{nbsp}{revision}, the best available developer documentation for +`liblttng-ctl` is its installed header files. Every function and structure is +thoroughly documented. [[lttng-ust]] @@ -6345,8 +6553,8 @@ Replace `my-session` with the name of the tracing session to load. When LTTng loads a configuration, it restores your saved tracing session as if you just configured it manually. -See man:lttng(1) for the complete list of command-line options. You -can also save and load all many sessions at a time, and decide in which +See man:lttng-load(1) for the complete list of command-line options. You +can also save and load many sessions at a time, and decide in which directory to output the XML files.