QUICKSTART How to use LTTng and LTTV in a few lines : This document is made of four parts : The first one explains how to install LTTng and LTTV from Debian and RPM binary packages, the second one explains how to install LTTng and LTTV from sources and the third one describes the steps to follow to trace a system and view it. The fourth and last part explains briefly how to add a new trace point to the kernel. What you will typically want is to read sections 1 and 3 : install LTTng from binary packages and use it. If there are no packages ready for your system, you will have to install from sources (section 2) instead. These operations are made for installing LTTng 0.3 on a linux 2.6.12-rc2-mm2 kernel. Change the versions to fit your needs. Author : Mathieu Desnoyers, September 2005 *********************************************************** ** Section 1 * Installation from Debian or RPM packages ** *********************************************************** No Debian or RPM packages are ready yet. TODO *********************************************************** ** Section 2 * Installation from sources ** *********************************************************** * Getting the LTTng packages su - mkdir /usr/src/lttng cd /usr/src/lttng (see http://ltt.polymtl.ca/lttng for package listing) wget http://ltt.polymtl.ca/lttng/lttng-modules-0.2.tar.bz2 wget http://ltt.polymtl.ca/lttng/patch-2.6.12-rc4-mm2-lttng-0.3.bz2 bzip2 -cd lttng-modules-0.2.tar.bz2 | tar xvof - * Getting LTTng kernel sources su - cd /usr/src wget http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc4.tar.bz2 wget http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc4/2.6.12-rc4-mm2/2.6.12-rc4-mm2.bz2 bzip2 -cd linux-2.6.12-rc4.tar.bz2 | tar xvof - cd linux-2.6.12-rc4 bzip2 -cd ../2.6.12-rc4-mm2.bz2 | patch -p1 bzip2 -cd /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.3.bz2 | patch -p1 cd .. mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.3 * Installing a LTTng kernel su - cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3 make menuconfig General setup * Linux Trace Toolkit Instrumentation Support M or * Linux Trace Toolkit Tracer do NOT activate (not ready yet) : Align Linux Trace Toolkit Traces Activate Linux Trace Toolkit Heartbeat Timer IMPORTANT : This is enabled by default : you must disable it! make make install make modules_install The first time you use relayfs, you have to specify a mount point in you system: mkdir /mnt/relayfs echo "relayfs /mnt/relayfs relayfs rw 0 0" \ >> /etc/fstab Depending on your boot loader, you may want to execute : update-grub or lilo reboot * Install the ltt-modules su - cd /usr/src/lttng/lttng-modules-0.2 KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.3 make KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.3 make modules_install note : at this stage, you might want to execute modprobe ltt-control and you might also want to do this : echo ltt-control >> /etc/modules * Getting and installing the LTTV package su - cd /usr/src wget http://ltt.polymtl.ca/packages/LinuxTraceToolkitViewer-0.6.3-20092005.tar.gz gzip -cd LinuxTraceToolkitViewer-0.6.3-20092005.tar.gz | tar xvof - cd LinuxTraceToolkitViewer-0.6.3-20092005 (refer to README to see the development libraries that must be installed on you system) ./configure make make install *********************************************************** ** Section 3 * Using LTTng and LTTV ** *********************************************************** * Use graphical LTTV to control tracing and analyse traces lttv-gui (or /usr/local/bin/lttv-gui) - Spot the "Tracing Control" icon : click on it (it's a traffic light icon) - enter the root password - click "start" - click "stop" - Yes * You should now see a trace * Use text mode LTTng to control tracing The tracing can be controlled from a terminal by using the lttctl command (as root). Start tracing : lttctl -n trace -d -l /mnt/relayfs/ltt -t /tmp/trace Stop tracing and destroy trace channels : lttctl -n trace -R see lttctl --help for details. * Use text mode LTTV Fell free to look in /usr/local/lib/lttv/plugins to see all the text and graphical plugins available. For example, a simple trace dump in text format is available with : lttv -m textDump -t /tmp/trace see lttv -m textDump --help for detailed command line options of textDump. *********************************************************** ** Section 4 * Adding new instrumentations with genevent ** *********************************************************** * Getting and installing genevent su - cd /usr/src wget http://ltt.polymtl.ca/packages/genevent-0.1.tar.gz gzip -cd genevent-0.1.tar.gz | tar xvof - cd genevent-0.1 make make install * Add new events to the kernel with genevent su - cd /usr/local/share/LinuxTraceToolkitViewer/facilities cp process.xml yourfacility.xml * edit yourfacility.xml to fit your needs. cd /tmp /usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3/include/linux/ltt cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3/ltt * edit the kernel file you want to instrument - Add #include at the beginning of the file. - Add a call to the tracing functions. See their names and parameters in /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3/include/linux/ltt/ltt-facility-yourfacility.h