6b827d8eb3948703da25ddc7f1e6e7a0d0e6f35d
[lttng-docs.git] / contents / nuts-and-bolts / lttng-alternatives.md
1 ---
2 id: lttng-alternatives
3 ---
4
5 Excluding proprietary solutions, a few competing software tracers
6 exist for Linux:
7
8 * <a href="https://www.kernel.org/doc/Documentation/trace/ftrace.txt" class="ext">ftrace</a>
9 is the de facto function tracer of the Linux kernel. Its user
10 interface is a set of special files in sysfs.
11 * <a href="https://perf.wiki.kernel.org/" class="ext">perf</a> is
12 a performance analyzing tool for Linux which supports hardware
13 performance counters, tracepoints, as well as other counters and
14 types of probes. perf's controlling utility is the `perf` command
15 line/curses tool.
16 * <a href="http://linux.die.net/man/1/strace" class="ext">strace</a>
17 is a command line utility which records system calls made by a
18 user process, as well as signal deliveries and changes of process
19 state. strace makes use of
20 <a href="https://en.wikipedia.org/wiki/Ptrace" class="ext">ptrace</a>
21 to fulfill its function.
22 * <a href="https://sourceware.org/systemtap/" class="ext">SystemTap</a>
23 is a Linux kernel and user space tracer which uses custom user scripts
24 to produce plain text traces. Scripts are converted to the C language,
25 then compiled as Linux kernel modules which are loaded to produce
26 trace data. SystemTap's primary user interface is the `stap`
27 command line tool.
28 * <a href="http://www.sysdig.org/" class="ext">sysdig</a>, like
29 SystemTap, uses scripts to analyze Linux kernel events. Scripts,
30 or _chisels_ in sysdig's jargon, are written in Lua and executed
31 while the system is being traced, or afterwards. sysdig's interface
32 is the `sysdig` command line tool as well as the curses-based
33 `csysdig` tool.
34
35 The main distinctive features of LTTng is that it produces correlated
36 kernel and user space traces, as well as doing so with the lowest
37 overhead amongst other solutions. It produces trace files in the
38 <a href="http://www.efficios.com/ctf" class="ext"><abbr title="Common Trace Format">CTF</abbr></a>
39 format, an optimized file format for production and analyses of
40 multi-gigabyte data. LTTng is the result of close to 10 years of
41 active development by a community of passionate developers. It is
42 currently available on all major desktop, server, and embedded Linux
43 distributions.
44
45 The main interface for tracing control is a single command line tool
46 named `lttng`. The latter can create several tracing sessions,
47 enable/disable events on the fly, filter them efficiently with custom
48 user expressions, start/stop tracing, and do much more. Traces can be
49 recorded on disk or sent over the network, kept totally or partially,
50 and viewed once tracing becomes inactive or in real-time.
51
52 [Install LTTng now](#doc-installing-lttng) and start tracing!
This page took 0.031286 seconds and 3 git commands to generate.