update features
[lttv.git] / trunk / lttv / QUICKSTART.html
index 0dff574bb313bca7ba818943c8bb2e51d3a33366..74e9862058e4c6faceede2b8df991765cfe09284 100644 (file)
@@ -1,14 +1,15 @@
 <!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>
@@ -16,11 +17,31 @@ Last update : January 21st, 2009<br>
 <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>
+instrumentation</a>
+<ul>
+<li><a href="#kerneltp" name="TOCkerneltp">Adding kernel instrumentation</a></li>
+<li><a href="#usertp" name="TOCusertp">Adding userspace instrumentation</a></li>
+</ul>
 <li><a href="#section4" name="TOCsection4">Creating Debian and RPM packages
-from LTTV</a>
+from LTTV</a></li>
+<ul>
+<li><a href="#pkgdebian" name="TOCpkgdebian">Create custom LTTV Debian
+<li><a href="#pkglttng" name="TOCpkglttng">Create custom LTTng packages</a></li>
+
+</ul>
 
 </ul>
 
@@ -34,7 +55,6 @@ to follow to trace a system and view it. The third part explains
 briefly how to add a new trace point to the kernel and to user space
 applications. The fourth and last part explains how to create Debian or RPM
 packages from the LTTng and LTTV sources.
-
 <p>
 These operations are made for installing the LTTng 0.86 tracer on a linux 2.6.X
 kernel. You will also find instructions for installation of LTTV 0.12.x : the
@@ -48,7 +68,7 @@ The lttng patch is necessary to have the tracing hooks in the kernel.
 <br>
 <br>
 Supported architectures : 
-<br>
+br>
 LTTng :<br>
 <li> x86 32/64 bits
 <li> PowerPC 32 and 64 bits
@@ -66,10 +86,10 @@ the LTTng traces and the LTTV analysis tool.
 <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 :
@@ -130,7 +150,7 @@ href="http://ltt.polymtl.ca/svn/trunk/lttv/doc/developer/lttng-lttv-compatibilit
 versions compatibility</a>.
 
 
-<li>Getting the LTTng packages</li>
+<h3><a href="#TOCgetlttng" name="getlttng">Getting the LTTng packages</a></h3>
 
 <PRE>
 su -
@@ -142,7 +162,7 @@ bzip2 -cd patch-2.6.X-lttng-0.x.xx.tar.bz2 | tar xvof -
 </PRE>
 
 
-<li>Getting LTTng kernel sources</li>
+<h3><a href="#TOCgetlttngsrc" name="getlttngsrc">Getting LTTng kernel sources</a></h3>
 
 <PRE>
 su -
@@ -158,7 +178,7 @@ mv linux-2.6.X linux-2.6.X-lttng-0.x.xx
 </PRE>
 
 
-<li>Installing a LTTng kernel</li>
+<h3><a href="#TOCinstalllttng" name="installlttng">Installing a LTTng kernel</a></h3>
 
 <PRE>
 su -
@@ -215,7 +235,8 @@ Select the Linux 2.6.X-lttng-0.x.xx kernel in your boot loader.
 --
 </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
@@ -290,7 +311,9 @@ echo trap-trace >> /etc/modules
 #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.)
@@ -308,7 +331,7 @@ make
 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 :
@@ -324,8 +347,9 @@ channel : userspace
 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 -
@@ -338,27 +362,19 @@ system)
 ./configure
 make
 make install
-
-
-<li>Getting and installing the markers-userspace package for user space
-tracing (experimental)</li>
-
-See <a
-href="http://ltt.polymtl.ca/packages/markers-userspace-0.5.tar.bz2">markers-userspace-0.5.tar.bz2</a> or more recent.
+</PRE>
 
 <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>
 ltt-armall
 </PRE>
 
 <li>Use graphical LTTV to control tracing and analyse traces</li>
-
 <PRE>
 lttv-gui (or /usr/local/bin/lttv-gui)
   - Spot the "Tracing Control" icon : click on it
@@ -371,7 +387,6 @@ lttv-gui (or /usr/local/bin/lttv-gui)
 </PRE>
 
 <li>Use text mode LTTng to control tracing</li>
-
 <PRE>
 The tracing can be controlled from a terminal by using the lttctl command (as
 root).
@@ -385,8 +400,7 @@ Stop tracing and destroy trace channels :
 lttctl -D trace1
 
 see lttctl --help for details.
-<PRE>
-
+</PRE>
 <p>
 (note : to see if the buffers has been filled, look at the dmesg output after
 lttctl -R or after stopping tracing from the GUI, it will show an event lost
@@ -395,21 +409,16 @@ how. lttv now also shows event lost messages in the console when loading a trace
 with missing events or lost subbuffers.)
 
 <li>Use text mode LTTV</li>
-
 <p>
 Feel free to look in /usr/local/lib/lttv/plugins to see all the text and
 graphical plugins available.
-
 <p>
 For example, a simple trace dump in text format is available with :
-
 <PRE>
 lttv -m textDump -t /tmp/trace
 </PRE>
-
 <p>
 See lttv -m textDump --help for detailed command line options of textDump.
-
 <p>
 It is, in the current state of the project, very useful to use "grep" on the
 text output to filter by specific event fields. You can later copy the timestamp
@@ -418,18 +427,15 @@ bottom right label "Current time". Support for this type of filtering should
 be added to the filter module soon.
 
 <li>Hybrid mode</li>
-
 <p>
 Starting from LTTng 0.5.105 and ltt-control 0.20, a new mode can be used :
 hybrid. It can be especially useful when studying big workloads on a long period
 of time.
-
 <p>
 When using this mode, the most important, low rate control information will be
 recorded during all the trace by lttd (i.e. process creation/exit). The high
 rate information (i.e. interrupt/traps/syscall entry/exit) will be kept in a
 flight recorder buffer (now named flight-channelname_X).
-
 <p>
 The following lttctl commands take an hybrid trace :
 <p>
@@ -446,57 +452,91 @@ lttctl -D -w /tmp/trace2 trace2
 Each "overwrite" channel is flight recorder channel.
 
 <li>Flight recorder mode</li>
-
 <p>
 The flight recorder mode writes data into overwritten buffers for all channels,
 including control channels, except for the facilities tracefiles. It consists of
 setting all channels to "overwrite".
-
 <p>
 The following lttctl commands take a flight recorder trace :
-
 <PRE>
 lttctl -C -w /tmp/trace3 -o channel.all.overwrite=1 trace3
 ...
 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>
 
-See Documentation/markers.txt and Documentation/tracepoints.txt in your kernel
+<h3><a href="#TOCkerneltp" name="kerneltp">Adding kernel
+instrumentation</a></h3>
+
+<p>
+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
 tree.
+<p>
+Also see <a
+href="http://git.kernel.org/?p=linux/kernel/git/compudj/linux-2.6-lttng.git;a=tree;f=ltt/probes">ltt/probes/</a>
+for LTTng probe examples.
 
-* Add new events to userspace programs with userspace markers
-http://ltt.polymtl.ca/packages/
+<h3><a href="#TOCusertp" name="usertp">Adding userspace instrumentation</a></h3>
 
+<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
+<h3><a href="#TOCpkgdebian" name="pkgdebian">Create custom LTTV Debian packages</a></h3>
 
-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.
+<h3><a href="#TOCpkglttng" name="pkglttng">Create custom LTTng packages</a></h3>
+<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.
 
 
This page took 0.027162 seconds and 4 git commands to generate.