X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=LTTngManual.html;h=10978001793975f4867738ff5f0bf34a4bcfa3dd;hb=e40cdd19296a4fbacf0738fb3671f6d0503d9e99;hp=b46ae9a11590c161c23dac09a1964b34f145aac6;hpb=2eec045bcb4aeb474c751934be8ac1829c4be330;p=lttv.git diff --git a/LTTngManual.html b/LTTngManual.html index b46ae9a1..10978001 100644 --- a/LTTngManual.html +++ b/LTTngManual.html @@ -8,7 +8,7 @@

Linux Trace Toolkit Next Generation Manual

Author : Mathieu Desnoyers, September 2005
-Last update : January 21st, 2009
+Last update : September 3, 2010
(originally known as the LTTng QUICKSTART guide)

Table of Contents

@@ -76,10 +76,10 @@ packages from the LTTng and LTTV sources. These operations are made for installing the LTTng 0.86 tracer on a linux 2.6.X kernel. You will also find instructions for installation of LTTV 0.12.x : the Linux Trace Toolkit Viewer. -To see the list of compatibilities between LTTng, ltt-control, LTTV, please -refer to : +To see the list of compatibilities between the LTTng kernel patchset, LTTng +modules, ltt-control, LTTV, please refer to : LTTng+LTTV versions compatibility +href="http://lttng.org/cgi-bin/gitweb.cgi?p=lttv.git;a=blob_plain;f=doc/developer/lttng-lttv-compatibility.html;hb=HEAD">LTTng+LTTV versions compatibility The ongoing work had the Linux Kernel Markers integrated in the mainline Linux kernel since Linux 2.6.24 and the Tracepoints since 2.6.28. In its current @@ -90,7 +90,6 @@ kernel.

Licenses

-

LTTng, UST and LTTV are developed by an open community. LTTng is released under a dual Gnu LGPLv2.1/GPLv2 license, except for very few kernel-specific files @@ -99,6 +98,9 @@ which are derived work from the Linux kernel. LTTV is available under the Gnu GPLv2. The low-level LTTV trace reading library is released under Gnu LGPLv2.1.

+The Eclipse LTTng trace analysis tool is released under the EPL and uses the +LTTV trace reading library (LGPLv2.1). +

The UST (Userspace Tracing) and the Userspace RCU libraries are released under the LGPLv2.1 license, which allows linking with non-GPL (BSD, proprietary...) applications. The associated headers are released under MIT-style/BSD-style @@ -106,10 +108,7 @@ licenses.

Please refer to each particular file licensing for details. -
-

Supported architectures

-
LTTng :

  • x86 32/64 bits @@ -175,7 +174,7 @@ gtk 2.4 or better development libraries (Fedora : gtk2, gtk2-devel) note : For Fedora users : this might require at least core 3 from Fedora, or you might have to compile your own GTK2 library. -glib 2.4 or better development libraries +glib 2.16 or better development libraries (Debian : libglib2.0-0, libglib2.0-dev) (Fedora : glib2, glib2-devel) libpopt development libraries @@ -195,8 +194,7 @@ libc6 development librairies

    See the list of compatibilities between LTTng, ltt-control and LTTV at : LTTng+LTTV -versions compatibility. +href="http://lttng.org/cgi-bin/gitweb.cgi?p=lttv.git;a=blob_plain;f=doc/developer/lttng-lttv-compatibility.html;hb=HEAD">LTTng+LTTV versions compatibility.

    Getting the LTTng packages

    @@ -205,9 +203,11 @@ versions compatibility. su - mkdir /usr/src/lttng cd /usr/src/lttng -(see http://ltt.polymtl.ca/lttng for package listing) -wget http://ltt.polymtl.ca/lttng/patch-2.6.X-lttng-0.x.xx.tar.bz2 +(see http://lttng.org/files/lttng for package listing) +wget http://lttng.org/files/lttng/patch-2.6.X-lttng-0.x.xx.tar.bz2 +wget http://lttng.org/files/lttng/lttng-modules-0.x.tar.bz2 bzip2 -cd patch-2.6.X-lttng-0.x.xx.tar.bz2 | tar xvof - +bzip2 -cd lttng-modules-0.x.tar.bz2 | tar xvof - @@ -233,7 +233,7 @@ mv linux-2.6.X linux-2.6.X-lttng-0.x.xx su - cd /usr/src/linux-2.6.X-lttng-0.x.xx make menuconfig (or make xconfig or make config) - Select the < Help > button if you are not familiar with kernel + Select the < Help > button if you are not familiar with kernel configuration. Items preceded by [*] means they has to be built into the kernel. Items preceded by [M] means they has to be built as modules. @@ -242,23 +242,10 @@ make menuconfig (or make xconfig or make config) Select the following options : [*] Prompt for development and/or incomplete code/drivers [*] Activate markers - [*] Activate userspace markers ABI (experimental, optional) [*] Immediate value optimization (optional) - [*] Linux Trace Toolkit Next Generation (LTTng) ---> - or <*> Compile lttng tracing probes - or <*> Linux Trace Toolkit High-speed Lockless Data Relay - or <*> Linux Trace Toolkit Lock-Protected Data Relay - or <*> Linux Trace Toolkit Serializer - or <*> Linux Trace Toolkit Marker Control - or <*> Linux Trace Toolkit Tracer - [*] Align Linux Trace Toolkit Traces - or <*> Support logging events from userspace - [*] Support trace extraction from crash dump - or <*> Linux Trace Toolkit Trace Controller - or <*> Linux Trace Toolkit State Dump - Select - Select - Select + Select <Exit> + Select <Exit> + Select <Yes> make make modules_install (if necessary, create a initrd with mkinitrd or your preferate alternative) @@ -284,6 +271,22 @@ Select the Linux 2.6.X-lttng-0.x.xx kernel in your boot loader. -- + +

    Installing the LTTng modules

    + +
    +su -
    +cd /usr/src/lttng/lttng-modules-0.x
    +KERNELDIR=/usr/src/linux-2.6.X-lttng-0.x.xx make
    +KERNELDIR=/usr/src/linux-2.6.X-lttng-0.x.xx make modules_install
    +
    +Optionally, make can be prefixed with tracer options:
    +
    +EXTRA_CFLAGS="-DLTT_DEBUG_EVENT_SIZE" make
    +EXTRA_CFLAGS="-DLTT_VMCORE" make
    +EXTRA_CFLAGS="-DLTT_DEBUG_EVENT_SIZE -DLTT_VMCORE" make
    +
    +

    Editing the system wide configuration

    @@ -314,7 +317,6 @@ compile statically, you may not need to issue all these commands. modprobe ltt-trace-control modprobe ltt-marker-control modprobe ltt-tracer -modprobe ltt-serialize modprobe ltt-relay modprobe ipc-trace modprobe kernel-trace @@ -325,6 +327,7 @@ modprobe jbd2-trace modprobe ext4-trace modprobe syscall-trace modprobe trap-trace +modprobe block-trace #if locking tracing is wanted, uncomment the following #modprobe lockdep-trace @@ -345,7 +348,6 @@ cp /etc/modules /etc/modules.bkp echo ltt-trace-control >> /etc/modules echo ltt-marker-control >> /etc/modules echo ltt-tracer >> /etc/modules -echo ltt-serialize >> /etc/modules echo ltt-relay >> /etc/modules echo ipc-trace >> /etc/modules echo kernel-trace >> /etc/modules @@ -370,7 +372,7 @@ same name as the ltt-control kernel module, they are *not* the same thing.)
     su -
     cd /usr/src
    -wget http://ltt.polymtl.ca/lttng/ltt-control-0.x-xxxx2006.tar.gz
    +wget http://lttng.org/files/lttng/ltt-control-0.x-xxxx2006.tar.gz
     gzip -cd ltt-control-0.x-xxxx2008.tar.gz | tar xvof -
     cd ltt-control-0.x-xxxx2006
     (refer to README to see the development libraries that must be installed on you
    @@ -386,12 +388,12 @@ ldconfig
     
     
     Make sure you selected the kernel menuconfig option :
    -     or <*> Support logging events from userspace
    +    <M> or <*> Support logging events from userspace
     And that the ltt-userspace-event kernel module is loaded if selected as a
     module.
     
     Simple userspace tracing is available through
    -echo "some text to record" > /mnt/debugfs/ltt/write_event
    +echo "some text to record" > /mnt/debugfs/ltt/write_event
     
     It will appear in the trace under event :
     channel : userspace
    @@ -405,7 +407,7 @@ or different from the visualisation machine)
     
     su -
     cd /usr/src
    -wget http://ltt.polymtl.ca/packages/lttv-0.x.xx-xxxx2008.tar.gz
    +wget http://lttng.org/files/packages/lttv-0.x.xx-xxxx2008.tar.gz
     gzip -cd lttv-0.x.xx-xxxx2008.tar.gz | tar xvof -
     cd lttv-0.x.xx-xxxx2008
     (refer to README to see the development libraries that must be installed on your
    @@ -544,18 +546,16 @@ for LTTng probe examples.
     

    Adding userspace instrumentation

    Add new events to userspace programs with -userspace markers packages. +userspace markers packages. Get the latest markers-userspace-*.tar.bz2 and see the Makefile and examples. It allows inserting markers in executables and libraries, currently only on x86_32 and x86_64. See markers-userspace-0.5.tar.bz2 or more recent. +href="http://lttng.org/files/packages/markers-userspace-0.5.tar.bz2">markers-userspace-0.5.tar.bz2 or more recent.

    -Note that a new design document for a 3rd generation of tracepoint/marker-based -userspace tracing is available at LTTng User-space Tracing -Design. This new infrastructure is not yet implemented. +Note that tracepoint/marker-based userspace tracing is available at LTTng User-space Tracer (UST).

    The easy quick-and-dirty way to perform userspace tracing is currently to write