<h1>Linux Trace Toolkit Next Generation Manual</h1>
Author : Mathieu Desnoyers, September 2005<br>
-Last update : January 21st, 2009<br>
+Last update : January 30, 2010<br>
(originally known as the LTTng QUICKSTART guide)
<h2>Table of Contents</h2>
<ul>
<li><a href="#intro" name="TOCintro">Introduction</a></li>
<ul>
+<li><a href="#licenses" name="TOClicenses">Licenses</a></li>
+<ul>
<li><a href="#arch" name="TOCarch">Supported architectures</a></li>
</ul>
<br>
<br>
+<h3><a href="#TOClicenses" name="licenses">Licenses</a></h3>
+<p>
+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
+which are derived work from the Linux kernel.
+<p>
+LTTV is available under the Gnu GPLv2. The low-level LTTV trace reading library
+is released under Gnu LGPLv2.1.
+<p>
+The Eclipse LTTng trace analysis tool is released under the EPL and uses the
+LTTV trace reading library (LGPLv2.1).
+<p>
+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
+licenses.
+<p>
+Please refer to each particular file licensing for details.
+
<h3><a href="#TOCarch" name="arch">Supported architectures</a></h3>
-<br>
LTTng :<br>
<br>
<li> x86 32/64 bits
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.
[*] Activate markers
[*] Activate userspace markers ABI (experimental, optional)
[*] Immediate value optimization (optional)
- [*] Linux Trace Toolkit Next Generation (LTTng) --->
- <M> or <*> Compile lttng tracing probes
- <M> or <*> Linux Trace Toolkit High-speed Lockless Data Relay
- <M> or <*> Linux Trace Toolkit Lock-Protected Data Relay
- <M> or <*> Linux Trace Toolkit Serializer
- <M> or <*> Linux Trace Toolkit Marker Control
- <M> or <*> Linux Trace Toolkit Tracer
+ [*] Linux Trace Toolkit Next Generation (LTTng) --->
+ <M> or <*> Compile lttng tracing probes
+ <M> or <*> Linux Trace Toolkit High-speed Lockless Data Relay
+ <M> or <*> Linux Trace Toolkit Lock-Protected Data Relay
+ <M> or <*> Linux Trace Toolkit Serializer
+ <M> or <*> Linux Trace Toolkit Marker Control
+ <M> or <*> Linux Trace Toolkit Tracer
[*] Align Linux Trace Toolkit Traces
- <M> or <*> Support logging events from userspace
+ <M> or <*> Support logging events from userspace
[*] Support trace extraction from crash dump
- <M> or <*> Linux Trace Toolkit Trace Controller
- <M> or <*> Linux Trace Toolkit State Dump
- Select <Exit>
- Select <Exit>
- Select <Yes>
+ <M> or <*> Linux Trace Toolkit Trace Controller
+ <M> or <*> Linux Trace Toolkit State Dump
+ Select <Exit>
+ Select <Exit>
+ Select <Yes>
make
make modules_install
(if necessary, create a initrd with mkinitrd or your preferate alternative)
./configure
make
make install
+# (run ldconfig to ensure new shared objects are taken into account)
+ldconfig
</PRE>
<h3><a href="#TOCuserspacetracing" name="userspacetracing">Userspace tracing</a></h3>
<PRE>
Make sure you selected the kernel menuconfig option :
- <M> 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
./configure
make
make install
+# (run ldconfig to ensure new shared objects are taken into account)
+ldconfig
</PRE>
<hr />
See <a
href="http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=blob;f=Documentation/markers.txt">Documentation/markers.txt</a>
and <a
-href="http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=blob;f=Documentation/tracepoints.txt">Documentation/tracepoints.txt</a> in your kernel
+href="http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=blob;f=Documentation/trace/tracepoints.txt">Documentation/trace/tracepoints.txt</a> in your kernel
tree.
<p>
Also see <a