Linux Trace Toolkit: Difference between revisions

Content deleted Content added
Msabramo (talk | contribs)
First revision of a page on LTT (Linux Trace Toolkit)
 
 
(26 intermediate revisions by 18 users not shown)
Line 1:
{{multiple|
The Linux Trace Toolkit (LTT) is a set of tools that is designed to log program execution details from a patched Linux kernel and then peform various analyses on them, using console-based and graphical tools. LTT allows the user to see in-depth information about the processes that were running during the trace period, including when context switches occurred, how long the processes were blocked for, and how much time the processes spent executing vs. how much time the processes were blocked. The data is logged to a text file and various console-based and graphical (GTK+) tools are provided for interpreting that data.
{{no footnotes|date=May 2016}}
{{primary sources|date=May 2016}}
}}
The '''Linux Trace Toolkit''' ('''LTT''') is a set of tools that is designed to log program execution details from a patched Linux kernel and then perform various analyses on them, using console-based and graphical tools. LTT has been mostly superseded by its successor [[LTTng]] (Linux Trace Toolkit Next Generation).
 
The Linux Trace Toolkit (LTT) is a set of tools that is designed to log program execution details from a patched Linux kernel and then peform various analyses on them, using console-based and graphical tools. LTT allows the user to see in-depth information about the processes that were running during the trace period, including when context switches occurred, how long the processes were blocked for, and how much time the processes spent executing vs. how much time the processes were blocked. The data is logged to a text file and various console-based and graphical ([[GTK+]]) tools are provided for interpreting that data.
 
In order to do data collection, LTT requires a patched Linux kernel. The authors of LTT claim that the performance hit for a patched kernel compared to a regular kernel is minimal; Their testing has reportedly shown that this is less than 2.5% on a "normal use" system (measured using batches of kernel makes) and less than 5% on a file I/O intensive system (measured using batches of tar).
Line 7 ⟶ 13:
=== Collecting trace data ===
 
Starting dataData collection is as easyStarted asby:
 
trace 15 foo
 
This command will cause the LTT tracedaemon to do a trace that lasts for 15 seconds, writing trace data to <code>foo.trace</code> and process information from the <code>/proc</code> filesystem to <code>foo.proc</code>.

The "<code>trace"</code> command is actually a script which runs the program <code>tracedaemon</code> with some common options. It is possible to run the <code>tracedaemon</code> directly and in that case, the user can use a number of command-line options to control the data which is collected. For the complete list of options supported by <code>tracedaemon</code>, see [http://www.opersys.com/LTT/dox/ltt-online-help/ltt-daemon-commandline.html the online manual page for tracedaemon].
 
=== Viewing the results ===
Line 19 ⟶ 27:
traceview foo
 
This command will launch a graphical ([[GTK+]]) <code>traceview</code> tool that will read from <code>foo.trace</code> and <code>foo.proc</code>. This tool can show information in various interesting ways, including Event Graph, Process Analysis, and Raw Trace. The Event Graph is perhaps the most interesting view, showing the exact timing of events like [[page faultsfault]]s, [[interrupt]]s, and [[context switchesswitch]]es, in a simple graphical way.
 
The <code>traceview</code> command is a wrapper for a program called <code>tracevisualizer</code>. For the complete list of options supported by <code>tracevisualizer</code>, see [http://www.opersys.com/LTT/dox/ltt-online-help/ltt-decoder-commandline.html the online manual page for tracevisualizer].
 
== See also ==
 
* [[Profiling (computer programming)|Performance analysis]]
 
== References ==
 
{{refbegin}}
<div class="references-small">
* {{cite web|first=Karim and Deschênes, Jean-Hugues|last=Yaghmour|date=2004-11-23|url=http://www.opersys.com/LTT/dox/ltt-online-help/index.html|title=Linux Trace Toolkit Reference Manual|accessdate=2006-11-07}}
* {{cite web|first=Karim and Dagenais, Michel|last=Yaghmour|date=2005-05-01|url=http://www.linuxjournal.com/article/3829|title=Linux Journal: The Linux Trace Toolkit|accessdate=2006-11-07}}
{{refend}}
<references/>
{{reflist}}
</div>
 
== See also ==
 
* [[Performance analysis]]
 
== External links ==
 
* [http://www.opersys.com/LTT/ LTT page at Opersys.com]
* [https://web.archive.org/web/20081218215723/http://ltt.polymtl.ca/ LTT page at Ecole Polytechnique de Montreal]
 
{{Linux}}
 
[[Category:Linux programming tools]]
[[Category:Programming tools]]