domain: add Python domain to list
[lttng-docs.git] / contents / nuts-and-bolts / lttng-alternatives.md
CommitLineData
6b7fb0d3
PP
1---
2id: lttng-alternatives
3---
4
5Excluding proprietary solutions, a few competing software tracers
6exist 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
35The main distinctive features of LTTng is that it produces correlated
36kernel and user space traces, as well as doing so with the lowest
37overhead amongst other solutions. It produces trace files in the
1bf7ee86 38<a href="http://diamon.org/ctf" class="ext"><abbr title="Common Trace Format">CTF</abbr></a>
6b7fb0d3
PP
39format, an optimized file format for production and analyses of
40multi-gigabyte data. LTTng is the result of close to 10 years of
5bdc4885
PP
41active development by a community of passionate developers. LTTng 2.7
42is currently available on some major desktop and server Linux
6b7fb0d3
PP
43distributions.
44
45The main interface for tracing control is a single command line tool
46named `lttng`. The latter can create several tracing sessions,
47enable/disable events on the fly, filter them efficiently with custom
48user expressions, start/stop tracing, and do much more. Traces can be
49recorded on disk or sent over the network, kept totally or partially,
50and viewed once tracing becomes inactive or in real-time.
51
52[Install LTTng now](#doc-installing-lttng) and start tracing!
This page took 0.024245 seconds and 4 git commands to generate.