0.6.4
[lttv.git] / ltt / branches / poly / QUICKSTART
... / ...
CommitLineData
1
2QUICKSTART
3
4How to use LTTng and LTTV in a few lines :
5
6This document is made of four parts : The first one explains how to install
7LTTng and LTTV from Debian and RPM binary packages, the second one explains how
8to install LTTng and LTTV from sources and the third one describes the steps
9to follow to trace a system and view it. The fourth and last part explains
10briefly how to add a new trace point to the kernel.
11
12What you will typically want is to read sections 1 and 3 : install LTTng from
13binary packages and use it. If there are no packages ready for your system, you
14will have to install from sources (section 2) instead.
15
16These operations are made for installing LTTng 0.4 on a linux 2.6.12-rc2-mm2
17kernel. Change the versions to fit your needs.
18
19Author : Mathieu Desnoyers, September 2005
20
21
22
23***********************************************************
24** Section 1 * Installation from Debian or RPM packages **
25***********************************************************
26
27No Debian or RPM packages are ready yet.
28
29TODO
30
31
32***********************************************************
33** Section 2 * Installation from sources **
34***********************************************************
35
36* Getting the LTTng packages
37
38su -
39mkdir /usr/src/lttng
40cd /usr/src/lttng
41(see http://ltt.polymtl.ca/lttng for package listing)
42wget http://ltt.polymtl.ca/lttng/lttng-modules-0.2.tar.bz2
43wget http://ltt.polymtl.ca/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.bz2
44bzip2 -cd lttng-modules-0.2.tar.bz2 | tar xvof -
45
46
47* Getting LTTng kernel sources
48
49su -
50cd /usr/src
51wget http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc4.tar.bz2
52wget 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
53bzip2 -cd linux-2.6.12-rc4.tar.bz2 | tar xvof -
54cd linux-2.6.12-rc4
55bzip2 -cd ../2.6.12-rc4-mm2.bz2 | patch -p1
56bzip2 -cd /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.bz2 | patch -p1
57cd ..
58mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.4
59
60
61* Installing a LTTng kernel
62
63su -
64cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4
65make menuconfig
66 General setup
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!
73make
74make install
75make modules_install
76
77The first time you use relayfs, you have to specify a mount point in you system:
78mkdir /mnt/relayfs
79echo "relayfs /mnt/relayfs relayfs rw 0 0" \
80 >> /etc/fstab
81
82Depending on your boot loader, you may want to execute :
83update-grub or lilo
84
85reboot
86
87
88* Install the ltt-modules
89
90su -
91cd /usr/src/lttng/lttng-modules-0.2
92KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4 make
93KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4 make modules_install
94
95note : at this stage, you might want to execute
96modprobe ltt-control
97
98and you might also want to do this :
99echo ltt-control >> /etc/modules
100
101
102* Getting and installing the LTTV package
103
104su -
105cd /usr/src
106wget http://ltt.polymtl.ca/packages/LinuxTraceToolkitViewer-0.6.4-21092005.tar.gz
107gzip -cd LinuxTraceToolkitViewer-0.6.4-21092005.tar.gz | tar xvof -
108cd LinuxTraceToolkitViewer-0.6.4-21092005
109(refer to README to see the development libraries that must be installed on you
110system)
111./configure
112make
113make install
114
115
116
117
118***********************************************************
119** Section 3 * Using LTTng and LTTV **
120***********************************************************
121
122* Use graphical LTTV to control tracing and analyse traces
123
124lttv-gui (or /usr/local/bin/lttv-gui)
125 - Spot the "Tracing Control" icon : click on it
126 (it's a traffic light icon)
127 - enter the root password
128 - click "start"
129 - click "stop"
130 - Yes
131 * You should now see a trace
132
133* Use text mode LTTng to control tracing
134
135The tracing can be controlled from a terminal by using the lttctl command (as
136root).
137
138Start tracing :
139
140lttctl -n trace -d -l /mnt/relayfs/ltt -t /tmp/trace
141
142Stop tracing and destroy trace channels :
143
144lttctl -n trace -R
145
146see lttctl --help for details.
147
148
149* Use text mode LTTV
150
151Fell free to look in /usr/local/lib/lttv/plugins to see all the text and
152graphical plugins available.
153
154For example, a simple trace dump in text format is available with :
155
156lttv -m textDump -t /tmp/trace
157
158see lttv -m textDump --help for detailed command line options of textDump.
159
160
161
162
163***********************************************************
164** Section 4 * Adding new instrumentations with genevent **
165***********************************************************
166
167* Getting and installing genevent
168
169su -
170cd /usr/src
171wget http://ltt.polymtl.ca/packages/genevent-0.1.tar.gz
172gzip -cd genevent-0.1.tar.gz | tar xvof -
173cd genevent-0.1
174make
175make install
176
177
178* Add new events to the kernel with genevent
179
180su -
181cd /usr/local/share/LinuxTraceToolkitViewer/facilities
182cp process.xml yourfacility.xml
183 * edit yourfacility.xml to fit your needs.
184cd /tmp
185/usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml
186cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \
187 /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/include/linux/ltt
188cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \
189 /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/ltt
190 * edit the kernel file you want to instrument
191 - Add #include <linux/ltt/ltt-facility-yourfacility.h> at the beginning
192 of the file.
193 - Add a call to the tracing functions. See their names and parameters in
194 /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/include/linux/ltt/ltt-facility-yourfacility.h
195
196
197
This page took 0.022566 seconds and 4 git commands to generate.