<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
- <title>Linux Trace Toolkit Quickstart</title>
+ <title>Linux Trace Toolkit Next Generation User Documentation</title>
</head>
<body>
-<h1>Linux Trace Toolkit Quickstart</h1>
+<h1>Linux Trace Toolkit Next Generation User Documentation</h1>
Author : Mathieu Desnoyers, September 2005<br>
Last update : January 21st, 2009<br>
+(originally known as the LTTng QUICKSTART guide)
<h2>Table of Contents</h2>
<ul>
<li><a href="#intro" name="TOCintro">Introduction</a></li>
<li><a href="#section1" name="TOCsection1">Installing LTTng and LTTV from
sources</a></li>
+<ul>
+<li><a href="#prerequisites" name="TOCprerequisites">Prerequisistes</li>
+<li><a href="#getlttng" name="TOCgetlttng">Getting the LTTng packages</li>
+<li><a href="#getlttngsrc" name="TOCgetlttngsrc">Getting the LTTng kernel sources</li>
+<li><a href="#installlttng" name="TOCinstalllttng">Installing a LTTng kernel</li>
+<li><a href="#editconfig" name="TOCeditconfig">Editing the system wide
+configuration</a>
+<li><a href="#getlttctl" name="TOCgetlttctl">Getting and installing the
+ltt-control package</li>
+<li><a href="#userspacetracing" name="TOCuserspacetracing">Userspace Tracing</li>
+<li><a href="#getlttv" name="TOCgetlttv">Getting and installing the LTTV package</ul>
<li><a href="#section2" name="TOCsection2">Using LTTng and LTTV</a></li>
<li><a href="#section3" name="TOCsection3">Adding kernel and user-space
tracepoints</a></li>
<br>
<br>
Supported architectures :
-<br>
+br>
LTTng :<br>
<li> x86 32/64 bits
<li> PowerPC 32 and 64 bits
<hr />
-<h2><a href="#TOCsection2" name="section2">Installation from sources</a></h2>
+<h2><a href="#TOCsection1" name="section1">Installation from sources</a></h2>
<p>
-<li>Prerequisites</li>
+<h3><a href="#TOCprerequisites" name="prerequisites">Prerequisites</a></h3>
<ul>
<p>
Tools needed to follow the package download steps :
versions compatibility</a>.
-<li>Getting the LTTng packages</li>
+<h3><a href="#TOCgetlttng" name="getlttng">Getting the LTTng packages</a></h3>
<PRE>
su -
</PRE>
-<li>Getting LTTng kernel sources</li>
+<h3><a href="#TOCgetlttngsrc" name="getlttngsrc">Getting LTTng kernel sources</a></h3>
<PRE>
su -
</PRE>
-<li>Installing a LTTng kernel</li>
+<h3><a href="#TOCinstalllttng" name="installlttng">Installing a LTTng kernel</a></h3>
<PRE>
su -
--
</PRE>
-<li>Editing the system wide configuration</li>
+<h3><a href="#TOCeditconfig" name="editconfig">Editing the system wide
+configuration</a></h3>
<p>
You must activate debugfs and specify a mount point. This is typically done in
#echo lockdep-trace >> /etc/modules
</PRE>
-<li>Getting and installing the ltt-control package (on the traced machine)</li>
+
+<h3><a href="#TOCgetlttctl" name="getlttctl">Getting and installing the
+ltt-control package (on the traced machine)</a></h3>
<p>
(note : the ltt-control package contains lttd and lttctl. Although it has the
same name as the ltt-control kernel module, they are *not* the same thing.)
make install
</PRE>
-<li>Userspace tracing</li>
+<h3><a href="#TOCuserspacetracing" name="userspacetracing">Userspace tracing</a></h3>
<PRE>
Make sure you selected the kernel menuconfig option :
event name : event
</PRE>
-<li>Getting and installing the LTTV package (on the visualisation machine, same
-or different from the visualisation machine)</li>
+<h3><a href="#TOCgetlttv" name="getlttv">Getting and installing the LTTV package
+(on the visualisation machine, same
+or different from the visualisation machine)</a></h3>
<PRE>
su -
make install
</PRE>
-<li>Getting and installing the markers-userspace package for user space
-tracing (experimental)</li>
-<p>
-See <a
-href="http://ltt.polymtl.ca/packages/markers-userspace-0.5.tar.bz2">markers-userspace-0.5.tar.bz2</a> or more recent.
-
<hr />
-<h2><a href="#TOCsection3" name="section3">Using LTTng and LTTV</a></h2>
+<h2><a href="#TOCsection2" name="section2">Using LTTng and LTTV</a></h2>
<li>IMPORTANT : Arm Linux Kernel Markers after each boot</li>
<PRE>
lttctl -D -w /tmp/trace3 trace3
</PRE>
-**************************************************************
-** Section 4 * Adding new instrumentations with the markers **
-**************************************************************
+<hr />
+
+<h2><a href="#TOCsection3" name="section3">Adding new instrumentations with the
+markers</a></h2>
+<p>
+
+<p>
See Documentation/markers.txt and Documentation/tracepoints.txt in your kernel
tree.
-* Add new events to userspace programs with userspace markers
-http://ltt.polymtl.ca/packages/
+<li>Add new events to userspace programs with
+<a href="http://ltt.polymtl.ca/packages/">userspace markers packages</a></li>
+<p>
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 <a
+href="http://ltt.polymtl.ca/packages/markers-userspace-0.5.tar.bz2">markers-userspace-0.5.tar.bz2</a> or more recent.
-***********************************************************
-** Section 5 * Creating Debian or RPM packages **
-***********************************************************
+<p>
+Note that a new design document for a 3rd generation of tracepoint/marker-based
+userspace tracing is available at <a
+href="http://ltt.polymtl.ca/svn/trunk/lttv/doc/developer/ust.html">LTTng User-space Tracing
+Design"</a>. This new infrastructure is not yet implemented.
-* Create custom LTTV Debian packages
+<p>
+The easy quick-and-dirty way to perform userspace tracing is currently to write
+an string to /mnt/debugfs/ltt/write_event. See <a
+href="#userspacetracing">Userspace tracing</a> in the
+installation for sources section of this document.
-Use : dpkg-buildpackage -rfakeroot
+<hr />
-You should then have your LTTV .deb files created for your architecture.
+<h2><a href="#TOCsection4" name="section4">Creating Debian or RPM packages</a></h2>
+<p>
-* Create custom LTTng packages
+<li>Create custom LTTV Debian packages</li>
-For building LTTng Debian packages :
+<PRE>
+Use : dpkg-buildpackage -rfakeroot
+</PRE>
+<p>
+You should then have your LTTV .deb files created for your architecture.
-Get the build tree with patches applies as explained in section 2.
+<li>Create custom LTTng packages</li>
+<p>
+For building LTTng Debian packages :
+get the build tree with patches applies as explained in section 2.
+<PRE>
make menuconfig (or xconfig or config) (customize your configuration)
make-kpkg kernel_image
-
+</PRE>
+<p>
You will then see your freshly created .deb in /usr/src. Install it with
+<PRE>
dpkg -i /usr/src/(image-name).deb
-
+</PRE>
+<p>
Then, follow the section "Editing the system wide configuration" in section 2.