X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=2.9%2Flttng-docs-2.9.txt;h=79110f3f3be77c0ddcdb1bb60037ec5ba992ca10;hb=ded026983bfe6b3ba0365bba59c93b4aa55bb37a;hp=b72ebe652b436130180ba43fde6dc9c8392f26a9;hpb=7e35c9046df4437aecfcf05ab2178264afd461db;p=lttng-docs.git diff --git a/2.9/lttng-docs-2.9.txt b/2.9/lttng-docs-2.9.txt index b72ebe6..79110f3 100644 --- a/2.9/lttng-docs-2.9.txt +++ b/2.9/lttng-docs-2.9.txt @@ -1,7 +1,7 @@ The LTTng Documentation ======================= Philippe Proulx -v2.9, 29 November 2016 +v2.9, 20 February 2017 include::../common/copyright.txt[] @@ -74,6 +74,15 @@ include::../common/acknowledgements.txt[] [[whats-new]] == What's new in LTTng {revision}? +LTTng{nbsp}{revision} bears the name _Joannès_. A Berliner Weisse style +beer from the http://letreflenoir.com/[Trèfle Noir] microbrewery in +https://en.wikipedia.org/wiki/Rouyn-Noranda[Rouyn-Noranda], the +https://www.beeradvocate.com/beer/profile/20537/238967/[_**Joannès**_] +is a tangy beer with a distinct pink dress and intense fruit flavor, +thanks to the presence of fresh blackcurrant grown in Témiscamingue. + +New features and changes in LTTng{nbsp}{revision}: + * **Tracing control**: ** You can override the name or the URL of a tracing session configuration when you use man:lttng-load(1) thanks to the new @@ -89,7 +98,7 @@ include::../common/acknowledgements.txt[] -- [role="term"] ---- -lttng add-context --kernel --type=perf:cpu:raw:r0013c:x86unhalted +$ lttng add-context --kernel --type=perf:cpu:raw:r0013c:x86unhalted ---- -- + @@ -331,11 +340,11 @@ but note that: applications. [role="growable"] -.Availability of LTTng{nbsp}{revision} for major Linux distributions as of 29 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{nbsp}14.04 _Trusty Tahr_ and Ubuntu{nbsp}16.04 _Xenial Xerus_: <>. |link:/docs/v2.8#doc-ubuntu[LTTng{nbsp}2.8 for Ubuntu{nbsp}16.10 _Yakkety Yak_]. @@ -343,26 +352,26 @@ but note that: <> for other Ubuntu releases. -|Fedora +|https://getfedora.org/[Fedora] |_Not available_ |<>. -|Debian +|https://www.debian.org/[Debian] |_Not available_ |<>. -|openSUSE +|https://www.opensuse.org/[openSUSE] |_Not available_ |<>. -|Arch Linux +|https://www.archlinux.org/[Arch Linux] |<>. | -|Alpine Linux +|https://alpinelinux.org/[Alpine Linux] |_Not available_ |link:/docs/v2.8#doc-alpine-linux[LTTng{nbsp}2.8 for Alpine Linux{nbsp}"edge"]. @@ -371,18 +380,19 @@ LTTng{nbsp}2.8 for Alpine Linux{nbsp}3.5 (not released yet). <> 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 +|https://buildroot.org/[Buildroot] |_Not available_ -|LTTng{nbsp}2.8 for Buildroot{nbsp}2016.11 (not released yet). +|link:/docs/v2.8#doc-buildroot[LTTng{nbsp}2.8 for Buildroot{nbsp}2016.11]. <> for other Buildroot releases. -|OpenEmbedded and Yocto +|http://www.openembedded.org/wiki/Main_Page[OpenEmbedded] and +https://www.yoctoproject.org/[Yocto] |_Not available_ |link:/docs/v2.8#doc-oe-yocto[LTTng{nbsp}2.8 for Yocto Project{nbsp}2.2 _Morty_] (`openembedded-core` layer). @@ -413,8 +423,8 @@ To install LTTng{nbsp}{revision} from the LTTng Stable{nbsp}{revision} PPA: -- [role="term"] ---- -sudo apt-add-repository ppa:lttng/stable-2.9 -sudo apt-get update +# apt-add-repository ppa:lttng/stable-2.9 +# apt-get update ---- -- @@ -423,9 +433,9 @@ sudo apt-get update -- [role="term"] ---- -sudo apt-get install lttng-tools -sudo apt-get install lttng-modules-dkms -sudo apt-get install liblttng-ust-dev +# apt-get install lttng-tools +# apt-get install lttng-modules-dkms +# apt-get install liblttng-ust-dev ---- -- @@ -436,7 +446,7 @@ sudo apt-get install liblttng-ust-dev -- [role="term"] ---- -sudo apt-get install liblttng-ust-agent-java +# apt-get install liblttng-ust-agent-java ---- -- @@ -447,7 +457,7 @@ sudo apt-get install liblttng-ust-agent-java -- [role="term"] ---- -sudo apt-get install python3-lttngust +# apt-get install python3-lttngust ---- -- @@ -463,9 +473,9 @@ https://archlinux.fr/yaourt-en[Yaourt]: -- [role="term"] ---- -yaourt -S lttng-tools -yaourt -S lttng-ust -yaourt -S lttng-modules +$ yaourt -S lttng-tools +$ yaourt -S lttng-ust +$ yaourt -S lttng-modules ---- -- @@ -475,8 +485,8 @@ yaourt -S lttng-modules -- [role="term"] ---- -yaourt -S python-lttngust -yaourt -S python2-lttngust +$ yaourt -S python-lttngust +$ yaourt -S python2-lttngust ---- -- @@ -509,7 +519,7 @@ To build and install LTTng{nbsp}{revision} from source: -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-modules/lttng-modules-latest-2.9.tar.bz2 && tar -xf lttng-modules-latest-2.9.tar.bz2 && cd lttng-modules-2.9.* && @@ -524,7 +534,7 @@ sudo depmod -a -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-ust/lttng-ust-latest-2.9.tar.bz2 && tar -xf lttng-ust-latest-2.9.tar.bz2 && cd lttng-ust-2.9.* && @@ -574,7 +584,7 @@ instrumented user application with `liblttng-ust`>>: -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-tools/lttng-tools-latest-2.9.tar.bz2 && tar -xf lttng-tools-latest-2.9.tar.bz2 && cd lttng-tools-2.9.* && @@ -612,16 +622,18 @@ This tutorial walks you through the steps to: [[tracing-the-linux-kernel]] === Trace the Linux kernel -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 <>. +The following command lines start with the `#` prompt because you need +root privileges to trace the Linux kernel. You can also trace the kernel +as a regular user if your Unix user is a member of the +<>. -. Create a <>: +. Create a <> which writes its traces + to dir:{/tmp/my-kernel-trace}: + -- [role="term"] ---- -sudo lttng create my-kernel-session +# lttng create my-kernel-session --output=/tmp/my-kernel-trace ---- -- @@ -630,58 +642,67 @@ sudo lttng create my-kernel-session -- [role="term"] ---- -lttng list --kernel +# lttng list --kernel +# lttng list --kernel --syscall ---- -- -. Create an <> which matches the desired event names, - for example `sched_switch` and `sched_process_fork`: +. Create <> which match the desired instrumentation + point names, for example the `sched_switch` and `sched_process_fork` + tracepoints, and the man:open(2) and man:close(2) system calls: + -- [role="term"] ---- -sudo lttng enable-event --kernel sched_switch,sched_process_fork +# lttng enable-event --kernel sched_switch,sched_process_fork +# lttng enable-event --kernel --syscall open,close ---- -- + -You can also create an event rule which _matches_ all the Linux kernel +You can also create an event rule which matches _all_ the Linux kernel tracepoints (this will generate a lot of data when tracing): + -- [role="term"] ---- -sudo lttng enable-event --kernel --all +# lttng enable-event --kernel --all ---- -- -. Start tracing: +. <>: + -- [role="term"] ---- -sudo lttng start +# lttng start ---- -- . Do some operation on your system for a few seconds. For example, load a website, or list the files of a directory. -. Stop tracing and destroy the tracing session: +. <> and destroy the + tracing session: + -- [role="term"] ---- -sudo lttng stop -sudo lttng destroy +# lttng stop +# lttng destroy ---- -- + The man:lttng-destroy(1) command does not destroy the trace data; it only destroys the state of the tracing session. -By default, LTTng saves the traces in -+$LTTNG_HOME/lttng-traces/__name__-__date__-__time__+, -where +__name__+ is the tracing session name. Note that the -env:LTTNG_HOME environment variable defaults to `$HOME` if not set. +. For the sake of this example, make the recorded trace accessible to + the non-root users: ++ +-- +[role="term"] +---- +# chown -R $(whoami) /tmp/my-kernel-trace +---- +-- See <> to view the recorded events. @@ -750,7 +771,7 @@ TRACEPOINT_EVENT( -- [role="term"] ---- -gcc -c -I. hello-tp.c +$ gcc -c -I. hello-tp.c ---- -- @@ -810,7 +831,7 @@ int main(int argc, char *argv[]) -- [role="term"] ---- -gcc -c hello.c +$ gcc -c hello.c ---- -- @@ -820,7 +841,7 @@ gcc -c hello.c -- [role="term"] ---- -gcc -o hello hello.o hello-tp.o -llttng-ust -ldl +$ gcc -o hello hello.o hello-tp.o -llttng-ust -ldl ---- -- @@ -837,7 +858,7 @@ To trace the user application: -- [role="term"] ---- -./hello world and beyond +$ ./hello world and beyond ---- -- + @@ -855,7 +876,7 @@ Press Enter to continue... -- [role="term"] ---- -lttng-sessiond --daemonize +$ lttng-sessiond --daemonize ---- -- + @@ -867,7 +888,7 @@ a service that the distribution's service manager started. -- [role="term"] ---- -lttng list --userspace +$ lttng list --userspace ---- -- + @@ -879,7 +900,7 @@ under the `./hello` process. -- [role="term"] ---- -lttng create my-user-space-session +$ lttng create my-user-space-session ---- -- @@ -889,28 +910,29 @@ lttng create my-user-space-session -- [role="term"] ---- -lttng enable-event --userspace hello_world:my_first_tracepoint +$ lttng enable-event --userspace hello_world:my_first_tracepoint ---- -- -. Start tracing: +. <>: + -- [role="term"] ---- -lttng start +$ lttng start ---- -- . Go back to the running `hello` application and press Enter. The program executes all `tracepoint()` instrumentation points and exits. -. Stop tracing and destroy the tracing session: +. <> and destroy the + tracing session: + -- [role="term"] ---- -sudo lttng stop -sudo lttng destroy +$ lttng stop +$ lttng destroy ---- -- + @@ -919,7 +941,7 @@ only destroys the state of the tracing session. By default, LTTng saves the traces in +$LTTNG_HOME/lttng-traces/__name__-__date__-__time__+, -where +__name__+ is the tracing session name. Note that the +where +__name__+ is the tracing session name. The env:LTTNG_HOME environment variable defaults to `$HOME` if not set. See < +$ lttng ---- The <> section explores the @@ -2691,7 +2713,7 @@ To build the instrumented application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -2700,7 +2722,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o tpp.o -llttng-ust -ldl +$ gcc -o app app.o tpp.o -llttng-ust -ldl ---- -- @@ -2711,7 +2733,7 @@ To run the instrumented application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -2729,7 +2751,7 @@ To create the tracepoint provider package archive file: -- [role="term"] ---- -gcc -I. -c tpp.c +$ gcc -I. -c tpp.c ---- -- @@ -2738,7 +2760,7 @@ gcc -I. -c tpp.c -- [role="term"] ---- -ar rcs tpp.a tpp.o +$ ar rcs tpp.a tpp.o ---- -- @@ -2758,7 +2780,7 @@ To build the instrumented application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -2767,7 +2789,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o tpp.a -llttng-ust -ldl +$ gcc -o app app.o tpp.a -llttng-ust -ldl ---- -- @@ -2778,7 +2800,7 @@ To run the instrumented application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -2807,7 +2829,7 @@ To build the instrumented application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -2816,7 +2838,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -ldl -L. -ltpp +$ gcc -o app app.o -ldl -L. -ltpp ---- -- @@ -2827,7 +2849,7 @@ To run the instrumented application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -2858,7 +2880,7 @@ To build the instrumented application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -2867,7 +2889,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -ldl +$ gcc -o app app.o -ldl ---- -- @@ -2879,7 +2901,7 @@ To run the instrumented application with tracing support: -- [role="term"] ---- -LD_PRELOAD=./libtpp.so ./app +$ LD_PRELOAD=./libtpp.so ./app ---- -- @@ -2890,7 +2912,7 @@ To run the instrumented application without tracing support: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -2923,7 +2945,7 @@ To build the instrumented application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -2932,7 +2954,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -ldl +$ gcc -o app app.o -ldl ---- -- @@ -2943,7 +2965,7 @@ To run the instrumented application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -2975,7 +2997,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -2984,7 +3006,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o tpp.o -llttng-ust -ldl +$ gcc -shared -o libemon.so emon.o tpp.o -llttng-ust -ldl ---- -- @@ -2995,7 +3017,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3004,7 +3026,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -L. -lemon +$ gcc -o app app.o -L. -lemon ---- -- @@ -3015,7 +3037,7 @@ To run the application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3047,7 +3069,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3056,7 +3078,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o -ldl -L. -ltpp +$ gcc -shared -o libemon.so emon.o -ldl -L. -ltpp ---- -- @@ -3067,7 +3089,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3076,7 +3098,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -L. -lemon +$ gcc -o app app.o -L. -lemon ---- -- @@ -3087,7 +3109,7 @@ To run the application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3120,7 +3142,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3129,7 +3151,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o -ldl +$ gcc -shared -o libemon.so emon.o -ldl ---- -- @@ -3140,7 +3162,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3149,7 +3171,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -L. -lemon +$ gcc -o app app.o -L. -lemon ---- -- @@ -3161,7 +3183,7 @@ To run the application with tracing support: -- [role="term"] ---- -LD_PRELOAD=./libtpp.so ./app +$ LD_PRELOAD=./libtpp.so ./app ---- -- @@ -3172,7 +3194,7 @@ To run the application without tracing support: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3207,7 +3229,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3216,7 +3238,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o -ldl +$ gcc -shared -o libemon.so emon.o -ldl ---- -- @@ -3227,7 +3249,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3236,7 +3258,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -L. -lemon +$ gcc -o app app.o -L. -lemon ---- -- @@ -3247,7 +3269,7 @@ To run the application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3281,7 +3303,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3290,7 +3312,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o -ldl -L. -ltpp +$ gcc -shared -o libemon.so emon.o -ldl -L. -ltpp ---- -- @@ -3301,7 +3323,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3310,7 +3332,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -ldl -L. -lemon +$ gcc -o app app.o -ldl -L. -lemon ---- -- @@ -3321,7 +3343,7 @@ To run the application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3356,7 +3378,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3365,7 +3387,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o -ldl +$ gcc -shared -o libemon.so emon.o -ldl ---- -- @@ -3376,7 +3398,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3385,7 +3407,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -ldl -L. -lemon +$ gcc -o app app.o -ldl -L. -lemon ---- -- @@ -3396,7 +3418,7 @@ To run the application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3429,7 +3451,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3438,7 +3460,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o -ldl +$ gcc -shared -o libemon.so emon.o -ldl ---- -- @@ -3449,7 +3471,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3458,7 +3480,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o -L. -lemon +$ gcc -o app app.o -L. -lemon ---- -- @@ -3470,7 +3492,7 @@ To run the application with tracing support: -- [role="term"] ---- -LD_PRELOAD=./libtpp.so ./app +$ LD_PRELOAD=./libtpp.so ./app ---- -- @@ -3481,7 +3503,7 @@ To run the application without tracing support: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3513,7 +3535,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3522,7 +3544,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o +$ gcc -shared -o libemon.so emon.o ---- -- @@ -3533,7 +3555,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3542,7 +3564,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -o app app.o tpp.o -llttng-ust -ldl -L. -lemon +$ gcc -o app app.o tpp.o -llttng-ust -ldl -L. -lemon ---- -- @@ -3553,7 +3575,7 @@ To run the instrumented application: -- [role="term"] ---- -./app +$ ./app ---- -- @@ -3584,7 +3606,7 @@ To build the application: -- [role="term"] ---- -gcc -c app.c +$ gcc -c app.c ---- -- @@ -3593,7 +3615,7 @@ gcc -c app.c -- [role="term"] ---- -gcc -Wl,--export-dynamic -o app app.o tpp.o \ +$ gcc -Wl,--export-dynamic -o app app.o tpp.o \ -llttng-ust -ldl ---- -- @@ -3609,7 +3631,7 @@ To build the instrumented user library: -- [role="term"] ---- -gcc -I. -fpic -c emon.c +$ gcc -I. -fpic -c emon.c ---- -- @@ -3618,7 +3640,7 @@ gcc -I. -fpic -c emon.c -- [role="term"] ---- -gcc -shared -o libemon.so emon.o +$ gcc -shared -o libemon.so emon.o ---- -- @@ -3629,7 +3651,7 @@ To run the application: -- [role="term"] ---- -./app +$ ./app ---- -- |==== @@ -3668,7 +3690,7 @@ object when you start the application. [role="term"] ---- -LD_PRELOAD=liblttng-ust-fork.so ./my-app +$ LD_PRELOAD=liblttng-ust-fork.so ./my-app ---- If your tracepoint provider package is @@ -3677,7 +3699,7 @@ shared objects in env:LD_PRELOAD: [role="term"] ---- -LD_PRELOAD=liblttng-ust-fork.so:/path/to/tp.so ./my-app +$ LD_PRELOAD=liblttng-ust-fork.so:/path/to/tp.so ./my-app ---- @@ -3691,7 +3713,7 @@ path:{liblttng-ust-fd.so} shared object when you start the application: [role="term"] ---- -LD_PRELOAD=liblttng-ust-fd.so ./my-app +$ LD_PRELOAD=liblttng-ust-fd.so ./my-app ---- Typical use cases include closing all the file descriptors after @@ -3709,7 +3731,7 @@ build an application on the command line: [role="term"] ---- -gcc -o my-app my-app.o tp.o $(pkg-config --cflags --libs lttng-ust) +$ gcc -o my-app my-app.o tp.o $(pkg-config --cflags --libs lttng-ust) ---- @@ -3734,7 +3756,7 @@ or LTTng packages: -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/urcu/userspace-rcu-latest-0.9.tar.bz2 && tar -xf userspace-rcu-latest-0.9.tar.bz2 && cd userspace-rcu-0.9.* && @@ -3761,7 +3783,7 @@ sudo ldconfig -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-ust/lttng-ust-latest-2.9.tar.bz2 && tar -xf lttng-ust-latest-2.9.tar.bz2 && cd lttng-ust-2.9.* && @@ -3786,7 +3808,7 @@ relevant 32-bit library paths, for example: [role="term"] ---- -LDFLAGS='-L/usr/lib/i386-linux-gnu -L/usr/lib32' +$ LDFLAGS='-L/usr/lib/i386-linux-gnu -L/usr/lib32' ---- ==== @@ -3796,12 +3818,14 @@ LDFLAGS='-L/usr/lib/i386-linux-gnu -L/usr/lib32' -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-tools/lttng-tools-latest-2.9.tar.bz2 && tar -xf lttng-tools-latest-2.9.tar.bz2 && cd lttng-tools-2.9.* && ./configure --libdir=/usr/local/lib32 CFLAGS=-m32 CXXFLAGS=-m32 \ - LDFLAGS='-L/usr/local/lib32 -L/usr/lib32' && + LDFLAGS='-L/usr/local/lib32 -L/usr/lib32' \ + --disable-bin-lttng --disable-bin-lttng-crash \ + --disable-bin-lttng-relayd --disable-bin-lttng-sessiond && make && cd src/bin/lttng-consumerd && sudo make install && @@ -3818,7 +3842,7 @@ sudo ldconfig -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-tools/lttng-tools-latest-2.9.tar.bz2 && tar -xf lttng-tools-latest-2.9.tar.bz2 && cd lttng-tools-2.9.* && @@ -3845,9 +3869,9 @@ instrumented 32-bit application: -- [role="term"] ---- -gcc -m32 -c -I. hello-tp.c -gcc -m32 -c hello.c -gcc -m32 -o hello hello.o hello-tp.o \ +$ gcc -m32 -c -I. hello-tp.c +$ gcc -m32 -c hello.c +$ gcc -m32 -o hello hello.o hello-tp.o \ -L/usr/lib32 -L/usr/local/lib32 \ -Wl,-rpath,/usr/lib32,-rpath,/usr/local/lib32 \ -llttng-ust -ldl @@ -3899,7 +3923,7 @@ To use `tracef()` in your application: -- [role="term"] ---- -gcc -o app app.c -llttng-ust +$ gcc -o app app.c -llttng-ust ---- -- @@ -3911,7 +3935,7 @@ To trace the events that `tracef()` calls emit: -- [role="term"] ---- -lttng enable-event --userspace 'lttng_ust_tracef:*' +$ lttng enable-event --userspace 'lttng_ust_tracef:*' ---- -- @@ -3986,7 +4010,7 @@ See man:lttng-ust(3) for a list of available log level names. -- [role="term"] ---- -gcc -o app app.c -llttng-ust +$ gcc -o app app.c -llttng-ust ---- -- @@ -4000,7 +4024,7 @@ _as severe as_ a specific log level: -- [role="term"] ---- -lttng enable-event --userspace 'lttng_ust_tracelog:*' +$ lttng enable-event --userspace 'lttng_ust_tracelog:*' --loglevel=TRACE_WARNING ---- -- @@ -4014,7 +4038,7 @@ _specific log level_: -- [role="term"] ---- -lttng enable-event --userspace 'lttng_ust_tracelog:*' +$ lttng enable-event --userspace 'lttng_ust_tracelog:*' --loglevel-only=TRACE_INFO ---- -- @@ -4053,7 +4077,7 @@ To use a user space tracing helper with any user application: -- [role="term"] ---- -LD_PRELOAD=liblttng-ust-libc-wrapper.so my-app +$ LD_PRELOAD=liblttng-ust-libc-wrapper.so my-app ---- -- + @@ -4062,7 +4086,7 @@ You can preload more than one helper: -- [role="term"] ---- -LD_PRELOAD=liblttng-ust-libc-wrapper.so:liblttng-ust-dl.so my-app +$ LD_PRELOAD=liblttng-ust-libc-wrapper.so:liblttng-ust-dl.so my-app ---- -- @@ -4112,7 +4136,7 @@ The path:{liblttng-ust-cyg-profile*.so} helpers can add instrumentation to the entry and exit points of functions. man:gcc(1) and man:clang(1) have an option named -https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html[`-finstrument-functions`] +https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html[`-finstrument-functions`] which generates instrumentation calls for entry and exit to functions. The LTTng-UST function tracing helpers, path:{liblttng-ust-cyg-profile.so} and @@ -4305,7 +4329,7 @@ Build this example: [role="term"] ---- -javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar Test.java +$ javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar Test.java ---- <>, @@ -4314,16 +4338,16 @@ javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jar [role="term"] ---- -lttng create -lttng enable-event --jul jello -lttng start +$ lttng create +$ lttng enable-event --jul jello +$ lttng start ---- Run the compiled class: [role="term"] ---- -java -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar:. Test +$ java -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar:. Test ---- <> and inspect the @@ -4331,11 +4355,36 @@ recorded events: [role="term"] ---- -lttng stop -lttng view +$ lttng stop +$ lttng view ---- ==== +In the resulting trace, an <> generated by a Java +application using `java.util.logging` is named `lttng_jul:event` and +has the following fields: + +`msg`:: + Log record's message. + +`logger_name`:: + Logger name. + +`class_name`:: + Name of the class in which the log statement was executed. + +`method_name`:: + Name of the method in which the log statement was executed. + +`long_millis`:: + Logging time (timestamp in milliseconds). + +`int_loglevel`:: + Log level integer value. + +`int_threadid`:: + ID of the thread in which the log statement was executed. + You can use the opt:lttng-enable-event(1):--loglevel or opt:lttng-enable-event(1):--loglevel-only option of the man:lttng-enable-event(1) command to target a range of JUL log levels @@ -4453,7 +4502,7 @@ file): [role="term"] ---- -javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-log4j.jar:$LOG4JPATH Test.java +$ javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-log4j.jar:$LOG4JPATH Test.java ---- <>, @@ -4462,16 +4511,16 @@ javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jar [role="term"] ---- -lttng create -lttng enable-event --log4j jello -lttng start +$ lttng create +$ lttng enable-event --log4j jello +$ lttng start ---- Run the compiled class: [role="term"] ---- -java -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-log4j.jar:$LOG4JPATH:. Test +$ java -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-log4j.jar:$LOG4JPATH:. Test ---- <> and inspect the @@ -4479,11 +4528,42 @@ recorded events: [role="term"] ---- -lttng stop -lttng view +$ lttng stop +$ lttng view ---- ==== +In the resulting trace, an <> generated by a Java +application using log4j is named `lttng_log4j:event` and +has the following fields: + +`msg`:: + Log record's message. + +`logger_name`:: + Logger name. + +`class_name`:: + Name of the class in which the log statement was executed. + +`method_name`:: + Name of the method in which the log statement was executed. + +`filename`:: + Name of the file in which the executed log statement is located. + +`line_number`:: + Line number at which the log statement was executed. + +`timestamp`:: + Logging timestamp. + +`int_loglevel`:: + Log level integer value. + +`thread_name`:: + Name of the Java thread in which the log statement was executed. + You can use the opt:lttng-enable-event(1):--loglevel or opt:lttng-enable-event(1):--loglevel-only option of the man:lttng-enable-event(1) command to target a range of Apache log4j log levels @@ -4653,7 +4733,7 @@ Build this example: [role="term"] ---- -javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar Test.java +$ javac -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar Test.java ---- <> @@ -4662,8 +4742,8 @@ and <> matching the [role="term"] ---- -lttng create -lttng enable-event --jul jello +$ lttng create +$ lttng enable-event --jul jello ---- <> to the @@ -4671,22 +4751,22 @@ JUL channel: [role="term"] ---- -lttng add-context --jul --type='$app.myRetriever:intCtx' -lttng add-context --jul --type='$app.myRetriever:strContext' +$ lttng add-context --jul --type='$app.myRetriever:intCtx' +$ lttng add-context --jul --type='$app.myRetriever:strContext' ---- <>: [role="term"] ---- -lttng start +$ lttng start ---- Run the compiled class: [role="term"] ---- -java -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar:. Test +$ java -cp /usr/share/java/jarpath/lttng-ust-agent-common.jar:/usr/share/java/jarpath/lttng-ust-agent-jul.jar:. Test ---- <> and inspect the @@ -4694,8 +4774,8 @@ recorded events: [role="term"] ---- -lttng stop -lttng view +$ lttng stop +$ lttng view ---- ==== @@ -4781,16 +4861,16 @@ tracing>>: [role="term"] ---- -lttng create -lttng enable-event --python my-logger -lttng start +$ lttng create +$ lttng enable-event --python my-logger +$ lttng start ---- Run the Python script: [role="term"] ---- -python test.py +$ python test.py ---- <> and inspect the recorded @@ -4798,11 +4878,38 @@ events: [role="term"] ---- -lttng stop -lttng view +$ lttng stop +$ lttng view ---- ==== +In the resulting trace, an <> generated by a Python +application is named `lttng_python:event` and has the following fields: + +`asctime`:: + Logging time (string). + +`msg`:: + Log record's message. + +`logger_name`:: + Logger name. + +`funcName`:: + Name of the function in which the log statement was executed. + +`lineno`:: + Line number at which the log statement was executed. + +`int_loglevel`:: + Log level integer value. + +`thread`:: + ID of the Python thread in which the log statement was executed. + +`threadName`:: + Name of the Python thread in which the log statement was executed. + You can use the opt:lttng-enable-event(1):--loglevel or opt:lttng-enable-event(1):--loglevel-only option of the man:lttng-enable-event(1) command to target a range of Python log levels @@ -4843,15 +4950,15 @@ mostly to instrument shell scripts: [role="term"] ---- -echo "Some message, some $variable" > /proc/lttng-logger +$ echo "Some message, some $variable" > /proc/lttng-logger ---- Any event that the LTTng logger emits is named `lttng_logger` and belongs to the Linux kernel <>. However, unlike other instrumentation points in the kernel tracing domain, **any Unix user** can <> 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 +<>. To use the LTTng logger: @@ -4889,16 +4996,16 @@ df --human-readable --print-type / > /proc/lttng-logger [role="term"] ---- -lttng create -lttng enable-event --kernel lttng_logger -lttng start +$ lttng create +$ lttng enable-event --kernel lttng_logger +$ lttng start ---- Run the Bash script: [role="term"] ---- -bash test.bash +$ bash test.bash ---- <> and inspect the recorded @@ -4906,8 +5013,8 @@ events: [role="term"] ---- -lttng stop -lttng view +$ lttng stop +$ lttng view ---- ==== @@ -4978,7 +5085,7 @@ is your subsystem's name. -- [role="term"] ---- -cd $(mktemp -d) && +$ cd $(mktemp -d) && wget http://lttng.org/files/lttng-modules/lttng-modules-latest-2.9.tar.bz2 && tar -xf lttng-modules-latest-2.9.tar.bz2 && cd lttng-modules-2.9.* @@ -5093,8 +5200,8 @@ obj-m += lttng-probe-my-subsys.o -- [role="term"] ---- -make KERNELDIR=/path/to/linux -sudo make modules_install +$ make KERNELDIR=/path/to/linux +# make modules_install && depmod -a ---- -- + @@ -5211,7 +5318,7 @@ module: ==== [role="term"] ---- -sudo lttng-sessiond --extra-kmod-probes=my_subsys,usb +# lttng-sessiond --extra-kmod-probes=my_subsys,usb ---- ==== -- @@ -5229,7 +5336,7 @@ To load _only_ a given custom probe kernel module: ==== [role="term"] ---- -sudo lttng-sessiond --kmod-probes=my_subsys,usb +# lttng-sessiond --kmod-probes=my_subsys,usb ---- ==== -- @@ -5241,7 +5348,7 @@ To confirm that a probe module is loaded: -- [role="term"] ---- -lsmod | grep lttng_probe_usb +$ lsmod | grep lttng_probe_usb ---- -- @@ -5252,7 +5359,7 @@ To unload the loaded probe modules: -- [role="term"] ---- -sudo pkill lttng-sessiond +# pkill lttng-sessiond ---- -- + @@ -5314,7 +5421,7 @@ To start a user session daemon: -- [role="term"] ---- -lttng-sessiond --daemonize +$ lttng-sessiond --daemonize ---- -- @@ -5325,7 +5432,7 @@ To start the root session daemon: -- [role="term"] ---- -sudo lttng-sessiond --daemonize +# lttng-sessiond --daemonize ---- -- @@ -5354,7 +5461,7 @@ To create a tracing session with a generated name: -- [role="term"] ---- -lttng create +$ lttng create ---- -- @@ -5368,7 +5475,7 @@ To create a tracing session with a specific name: -- [role="term"] ---- -lttng create my-session +$ lttng create my-session ---- -- + @@ -5388,7 +5495,7 @@ To output LTTng traces to a non-default location: -- [role="term"] ---- -lttng create --output=/tmp/some-directory my-session +$ lttng create my-session --output=/tmp/some-directory ---- -- @@ -5401,7 +5508,7 @@ To list all the existing tracing sessions for your Unix user: -- [role="term"] ---- -lttng list +$ lttng list ---- -- @@ -5433,7 +5540,7 @@ To change the current tracing session: -- [role="term"] ---- -lttng set-session new-session +$ lttng set-session new-session ---- -- + @@ -5451,7 +5558,7 @@ To destroy the current tracing session: -- [role="term"] ---- -lttng destroy +$ lttng destroy ---- -- @@ -5488,7 +5595,7 @@ To list the available instrumentation points: ==== [role="term"] ---- -lttng list --userspace +$ lttng list --userspace ---- ==== @@ -5496,7 +5603,7 @@ lttng list --userspace ==== [role="term"] ---- -lttng list --kernel --syscall +$ lttng list --kernel --syscall ---- ==== @@ -5600,7 +5707,7 @@ command-line options to create simple to more complex event rules. ==== [role="term"] ---- -lttng enable-event --kernel sched_switch +$ lttng enable-event --kernel sched_switch ---- ==== @@ -5608,7 +5715,7 @@ lttng enable-event --kernel sched_switch ==== [role="term"] ---- -lttng enable-event --kernel --syscall open,write,read,close +$ lttng enable-event --kernel --syscall open,write,read,close ---- ==== @@ -5616,18 +5723,18 @@ lttng enable-event --kernel --syscall open,write,read,close ==== [role="term"] ---- -lttng enable-event --kernel sched_switch --filter='prev_comm == "bash"' +$ lttng enable-event --kernel sched_switch --filter='prev_comm == "bash"' ---- [role="term"] ---- -lttng enable-event --kernel --all \ +$ lttng enable-event --kernel --all \ --filter='$ctx.tid == 1988 || $ctx.tid == 1534' ---- [role="term"] ---- -lttng enable-event --jul my_logger \ +$ lttng enable-event --jul my_logger \ --filter='$app.retriever:cur_msg_id > 3' ---- @@ -5639,7 +5746,7 @@ use man:lttng(1) from a shell. ==== [role="term"] ---- -lttng enable-event --userspace my_app:'*' --loglevel=TRACE_INFO +$ lttng enable-event --userspace my_app:'*' --loglevel=TRACE_INFO ---- IMPORTANT: Make sure to always quote the wildcard character when you @@ -5650,7 +5757,7 @@ use man:lttng(1) from a shell. ==== [role="term"] ---- -lttng enable-event --python my-app.'*' \ +$ lttng enable-event --python my-app.'*' \ --exclude='my-app.module,my-app.hello' ---- ==== @@ -5659,7 +5766,7 @@ lttng enable-event --python my-app.'*' \ ==== [role="term"] ---- -lttng enable-event --log4j --all --loglevel-only=LOG4J_WARN +$ lttng enable-event --log4j --all --loglevel-only=LOG4J_WARN ---- ==== @@ -5667,7 +5774,7 @@ lttng enable-event --log4j --all --loglevel-only=LOG4J_WARN ==== [role="term"] ---- -lttng enable-event --userspace my_app:my_tracepoint --channel=my-channel +$ lttng enable-event --userspace my_app:my_tracepoint --channel=my-channel ---- ==== @@ -5679,8 +5786,8 @@ rules: [role="term"] ---- -lttng enable-event --userspace my_app:my_tracepoint -lttng enable-event --userspace my_app:my_tracepoint \ +$ lttng enable-event --userspace my_app:my_tracepoint +$ lttng enable-event --userspace my_app:my_tracepoint \ --loglevel=TRACE_INFO ---- @@ -5704,7 +5811,7 @@ a _disabled_ event rule. ==== [role="term"] ---- -lttng disable-event --python my-logger +$ lttng disable-event --python my-logger ---- ==== @@ -5712,7 +5819,7 @@ lttng disable-event --python my-logger ==== [role="term"] ---- -lttng disable-event --jul '*' +$ lttng disable-event --jul '*' ---- ==== @@ -5725,7 +5832,7 @@ rules of a given channel. [role="term"] ---- -lttng disable-event --jul --all-events +$ lttng disable-event --jul --all-events ---- ==== @@ -5743,7 +5850,7 @@ parameters, its channels, event rules, and their attributes: -- [role="term"] ---- -lttng status +$ lttng status ---- -- + @@ -5755,7 +5862,7 @@ To get the status of any tracing session: -- [role="term"] ---- -lttng list my-session +$ lttng list my-session ---- -- + @@ -5777,7 +5884,7 @@ To start tracing in the current tracing session: -- [role="term"] ---- -lttng start +$ lttng start ---- -- @@ -5793,7 +5900,7 @@ To stop tracing in the current tracing session: -- [role="term"] ---- -lttng stop +$ lttng stop ---- -- + @@ -5918,7 +6025,7 @@ command-line options to create simple to more complex channels. ==== [role="term"] ---- -lttng enable-channel --kernel my-channel +$ lttng enable-channel --kernel my-channel ---- ==== @@ -5926,7 +6033,7 @@ lttng enable-channel --kernel my-channel ==== [role="term"] ---- -lttng enable-channel --userspace --num-subbuf=4 --subbuf-size=1M \ +$ lttng enable-channel --userspace --num-subbuf=4 --subbuf-size=1M \ --buffers-pid my-channel ---- ==== @@ -5935,7 +6042,7 @@ lttng enable-channel --userspace --num-subbuf=4 --subbuf-size=1M \ ==== [role="term"] ---- -lttng enable-channel --kernel --tracefile-count=8 \ +$ lttng enable-channel --kernel --tracefile-count=8 \ --tracefile-size=4194304 my-channel ---- ==== @@ -5944,7 +6051,7 @@ lttng enable-channel --kernel --tracefile-count=8 \ ==== [role="term"] ---- -lttng enable-channel --userspace --overwrite my-channel +$ lttng enable-channel --userspace --overwrite my-channel ---- ==== @@ -5953,8 +6060,8 @@ two different channels: [role="term"] ---- -lttng enable-event --userspace --channel=my-channel app:tp -lttng enable-event --userspace --channel=other-channel app:tp +$ lttng enable-event --userspace --channel=my-channel app:tp +$ lttng enable-event --userspace --channel=other-channel app:tp ---- If both channels are enabled, when a tracepoint named `app:tp` is @@ -5971,7 +6078,7 @@ previously, use the man:lttng-disable-channel(1) command. ==== [role="term"] ---- -lttng disable-channel --kernel my-channel +$ lttng disable-channel --kernel my-channel ---- ==== @@ -6019,7 +6126,7 @@ of the current tracing session. [role="term"] ---- -lttng add-context --userspace --type=vpid --type=perf:thread:cpu-cycles +$ lttng add-context --userspace --type=vpid --type=perf:thread:cpu-cycles ---- ==== @@ -6031,8 +6138,8 @@ man:perf-record(1). [role="term"] ---- -lttng add-context --userspace --type=perf:thread:raw:r0110:test -lttng add-context --kernel --type=perf:cpu:raw:r0013c:x86unhalted +$ lttng add-context --userspace --type=perf:thread:raw:r0110:test +$ lttng add-context --kernel --type=perf:cpu:raw:r0013c:x86unhalted ---- ==== @@ -6044,7 +6151,7 @@ tracing session. [role="term"] ---- -lttng add-context --kernel --channel=my-channel --type=tid +$ lttng add-context --kernel --channel=my-channel --type=tid ---- ==== @@ -6057,7 +6164,7 @@ in the channel named `my-channel`: [role="term"] ---- -lttng add-context --kernel --channel=my-channel \ +$ lttng add-context --kernel --channel=my-channel \ --type='$app:retriever:cur_msg_id' ---- @@ -6106,7 +6213,7 @@ tracks the specific PIDs. After: [role="term"] ---- -lttng track --pid=3,4,7,10,13 +$ lttng track --pid=3,4,7,10,13 ---- the whitelist is: @@ -6119,7 +6226,7 @@ You can add more PIDs to the whitelist afterwards: [role="term"] ---- -lttng track --pid=1,15,16 +$ lttng track --pid=1,15,16 ---- The result is: @@ -6133,7 +6240,7 @@ whitelist. Given the previous example, the following command: [role="term"] ---- -lttng untrack --pid=3,7,10,13 +$ lttng untrack --pid=3,7,10,13 ---- leads to this whitelist: @@ -6147,7 +6254,7 @@ option: [role="term"] ---- -lttng track --pid --all +$ lttng track --pid --all ---- The result is, again: @@ -6168,7 +6275,7 @@ man:lttng-untrack(1) command to clear the whitelist after you [role="term"] ---- -lttng untrack --pid --all +$ lttng untrack --pid --all ---- gives: @@ -6184,7 +6291,7 @@ specific PIDs, for example: [role="term"] ---- -lttng track --pid=6,11 +$ lttng track --pid=6,11 ---- Result: @@ -6222,7 +6329,7 @@ To save a given tracing session configuration: -- [role="term"] ---- -lttng save my-session +$ lttng save my-session ---- -- + @@ -6249,7 +6356,7 @@ To load a tracing session: -- [role="term"] ---- -lttng load my-session +$ lttng load my-session ---- -- + @@ -6277,7 +6384,7 @@ To send the trace data over the network: -- [role="term"] ---- -lttng-relayd +$ lttng-relayd ---- -- @@ -6287,7 +6394,7 @@ lttng-relayd -- [role="term"] ---- -lttng create my-session --set-url=net://remote-system +$ lttng create my-session --set-url=net://remote-system ---- -- + @@ -6296,7 +6403,7 @@ remote system. See man:lttng-create(1) for the exact URL format. . On the target system, use the man:lttng(1) command-line tool as usual. When tracing is active, the target's consumer daemon sends sub-buffers - to the relay daemon running on the remote system intead of flushing + to the relay daemon running on the remote system instead of flushing them to the local file system. The relay daemon writes the received packets to the local file system. @@ -6333,7 +6440,7 @@ To use LTTng live: -- [role="term"] ---- -lttng create --live my-session +$ lttng create my-session --live ---- -- + @@ -6345,7 +6452,8 @@ This spawns a local relay daemon. -- [role="term"] ---- -babeltrace --input-format=lttng-live net://localhost/host/hostname/my-session +$ babeltrace --input-format=lttng-live \ + net://localhost/host/hostname/my-session ---- -- + @@ -6363,7 +6471,7 @@ You can list the available live tracing sessions with Babeltrace: [role="term"] ---- -babeltrace --input-format=lttng-live net://localhost +$ babeltrace --input-format=lttng-live net://localhost ---- You can start the relay daemon on another system. In this case, you need @@ -6400,7 +6508,7 @@ To take a snapshot: -- [role="term"] ---- -lttng create --snapshot my-session +$ lttng create my-session --snapshot ---- -- + @@ -6423,7 +6531,7 @@ change before you actually take the snapshot. -- [role="term"] ---- -lttng snapshot record --name=my-first-snapshot +$ lttng snapshot record --name=my-first-snapshot ---- -- + @@ -6461,7 +6569,7 @@ XML machine interface output, for example: [role="term"] ---- -lttng --mi=xml enable-event --kernel --syscall open +$ lttng --mi=xml enable-event --kernel --syscall open ---- A schema definition (XSD) is @@ -6497,7 +6605,7 @@ To regenerate the metadata of an LTTng trace: -- [role="term"] ---- -lttng regenerate metadata +$ lttng regenerate metadata ---- -- @@ -6540,7 +6648,7 @@ create it in snapshot mode, before you take a snapshot: -- [role="term"] ---- -lttng regenerate statedump +$ lttng regenerate statedump ---- -- @@ -6549,7 +6657,7 @@ lttng regenerate statedump -- [role="term"] ---- -lttng stop +$ lttng stop ---- -- @@ -6558,7 +6666,7 @@ lttng stop -- [role="term"] ---- -lttng snapshot record --name=my-snapshot +$ lttng snapshot record --name=my-snapshot ---- -- @@ -6603,7 +6711,7 @@ trace data after a system crash: -- [role="term"] ---- -lttng create --shm-path=/path/to/shm +$ lttng create my-session --shm-path=/path/to/shm ---- -- @@ -6616,7 +6724,7 @@ lttng create --shm-path=/path/to/shm -- [role="term"] ---- -lttng-crash /path/to/shm +$ lttng-crash /path/to/shm ---- -- @@ -6631,7 +6739,7 @@ To convert the ring buffer files to LTTng trace files: -- [role="term"] ---- -lttng-crash --extract=/path/to/trace /path/to/shm +$ lttng-crash --extract=/path/to/trace /path/to/shm ---- -- @@ -7267,7 +7375,7 @@ tracer:: <>:: A namespace for event sources. -tracing group:: +<>:: The Unix group in which a Unix user can be to be allowed to trace the Linux kernel.