4 How to use LTTng and LTTV in a few lines :
6 This document is made of four parts : The first one explains how to install
7 LTTng and LTTV from Debian and RPM binary packages, the second one explains how
8 to install LTTng and LTTV from sources and the third one describes the steps
9 to follow to trace a system and view it. The fourth and last part explains
10 briefly how to add a new trace point to the kernel.
12 What you will typically want is to read sections 1 and 3 : install LTTng from
13 binary packages and use it. If there are no packages ready for your system, you
14 will have to install from sources (section 2) instead.
16 These operations are made for installing LTTng 0.2 on a linux 2.6.12-rc2-mm2
17 kernel. Change the versions to fit your needs.
19 Author : Mathieu Desnoyers, September 2005
23 ***********************************************************
24 ** Section 1 * Installation from Debian or RPM packages **
25 ***********************************************************
27 No Debian or RPM packages are ready yet.
32 ***********************************************************
33 ** Section 2 * Installation from sources **
34 ***********************************************************
36 * Getting the LTTng packages
41 (see http://ltt.polymtl.ca/lttng for package listing)
42 wget http://ltt.polymtl.ca/lttng/lttng-modules-0.2.tar.bz2
43 wget http://ltt.polymtl.ca/lttng/patch-2.6.12-rc4-mm2-lttng-0.3.bz2
44 bzip2 -cd lttng-modules-0.2.tar.bz2 | tar xvof -
47 * Getting LTTng kernel sources
51 wget http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc4.tar.bz2
52 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
53 bzip2 -cd linux-2.6.12-rc4.tar.bz2 | tar xvof -
55 bzip2 -cd ../2.6.12-rc4-mm2.bz2 | patch -p1
56 bzip2 -cd /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.3.bz2 | patch -p1
58 mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.3
61 * Installing a LTTng kernel
64 cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3
67 * Linux Trace Toolkit Instrumentation Support
68 M or * Linux Trace Toolkit Tracer
69 do NOT activate (not ready yet) :
70 Align Linux Trace Toolkit Traces
71 Activate Linux Trace Toolkit Heartbeat Timer
72 IMPORTANT : This is enabled by default : you must disable it!
79 * Install the ltt-modules
82 cd /usr/src/lttng/lttng-modules-0.2
83 KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.3 make
84 KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.3 make modules_install
86 note : at this stage, you might want to execute
89 and you might also want to do this :
90 echo ltt-control >> /etc/modules
93 * Getting and installing the LTTV package
97 wget http://ltt.polymtl.ca/packages/LinuxTraceToolkitViewer-0.5-16092005.tar.gz
98 gzip -cd LinuxTraceToolkitViewer-0.5-16092005.tar.gz | tar xvof -
99 cd LinuxTraceToolkitViewer-0.5-16092005
107 ***********************************************************
108 ** Section 3 * Using LTTV **
109 ***********************************************************
113 lttv-gui (or /usr/local/bin/lttv-gui)
114 - Spot the "Trace Control" icon : click on it
115 - enter the root password
119 * You should now see a trace
123 Fell free to look in /usr/local/lib/lttv/plugins to see all the text and
124 graphical plugins available.
126 For example, a simple trace dump in text format is available with :
128 lttv -m textDump -t /tmp/trace
130 see lttv -m textDump --help for detailed command line options of textDump.
135 ***********************************************************
136 ** Section 4 * Adding new instrumentations with genevent **
137 ***********************************************************
139 * Getting and installing genevent
143 wget http://ltt.polymtl.ca/packages/genevent-0.1.tar.gz
144 gzip -cd genevent-0.1.tar.gz | tar xvof -
150 * Add new events to the kernel with genevent
153 cd /usr/local/share/LinuxTraceToolkitViewer/facilities
154 cp process.xml yourfacility.xml
155 * edit yourfacility.xml to fit your needs.
157 /usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml
158 cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \
159 /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3/include/linux/ltt
160 cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \
161 /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3/ltt
162 * edit the kernel file you want to instrument
163 - Add #include <linux/ltt/ltt-facility-yourfacility.h> at the beginning
165 - Add a call to the tracing functions. See their names and parameters in
166 /usr/src/linux-2.6.12-rc4-mm2-lttng-0.3/include/linux/ltt/ltt-facility-yourfacility.h