For user-space tracing, you'll need an instrumented application, please see
http://lttng.org/ust.
-lttng-tools provide a session daemon (ltt-sessiond) that acts as a tracing
+lttng-tools provide a session daemon (lttng-sessiond) that acts as a tracing
registry. To trace any instrumented applications or the kernel, a registered
tracing session is needed beforehand. To interact with the session daemon and a
tracing session, you should use the lttng command line UI (lttng).
Kernel Tracing
--------------
-You can start the session daemon by invoking the command "ltt-sessiond",
+You can start the session daemon by invoking the command "lttng-sessiond",
or let the lttng command line tool do it for you. The session daemon
loads the LTTng tracer modules for you if those modules can be found on
your system. If they are not found, the kernel tracing feature will be
# lttng set-session myothersession
-2) Enable event(s). Here for example, we want only 'sched_switch' and
-'sys_enter' events for the kernel (-k/--kernel).
+2) Enable all tracepoints and all system call events.
-# lttng enable-event sched_switch,sys_enter -k
+# lttng enable-event -a -k
-or enable ALL events (-a/--all):
+3) Enable tracepoint event(s). Here for example, we want only
+'sched_switch' and 'sched_wakeup' events for the kernel (-k/--kernel).
-# lttng enable-event -a -k
+# lttng enable-event sched_switch,sched_wakeup -k
+
+or enable ALL tracepoint events:
+
+# lttng enable-event -a -k --tracepoint
+
+4) Enable all system call event(s).
+
+# lttng enable-event -a -k --syscall
-3) Enable kprobes and/or the function tracer with lttng
+5) Enable kprobes and/or the function tracer with lttng
This is a new feature made possible by the new LTTng 2.0 kernel tracer. You can
enable a dynamic probe and data will be output in the trace along side with
your tracing data.
-# lttng enable-event aname --probe symbol+0xffff7260695
+# lttng enable-event aname -k --probe symbol+0x0
or
-# lttng enable-event aname --probe 0xffff7260695
+# lttng enable-event aname -k --probe 0xffff7260695
Either an <address> or a <symbol+offset> can be used for probes.
You can also enable function tracer, which uses the Ftrace API (by Steven
Rostedt). Again, data will be output in the trace.
-# lttng enable-event aname --function <symbol_name>
+# lttng enable-event aname -k --function <symbol_name>
-4) Enable context information for an event:
+6) Enable context information for an event:
This is also a new feature which allows you to add context information to an
event. For example, you can add the PID along with the event information:
# lttng add-context -k -e sched_switch -t pid -t nice -t tid
-5) Enable perf counter for an event:
+7) Enable perf counter for an event:
Again, a new powerful feature is the possibility to add perf counter data
(using the perf API by Ingo Molnar and Thomas Gleixner) to the trace on a per
You'll have to use the add-context help for all possible perf counter values.
-6) Start tracing:
+8) Start tracing:
# lttng start
Tracing is in progress at this point and traces will be written in
$HOME/lttng-traces/mysession-<date>-<time>
-7) Stop tracing:
+9) Stop tracing:
# lttng stop
Note: At this point, you can restart the trace (lttng start), enable/disable
events or just go take a break and come back 3 days later to start it again :).
-8) Destroy your session after you are done with tracing
+10) Destroy your session after you are done with tracing
# lttng destroy
http://www.efficios.com/babeltrace and git tree
http://git.efficios.com/?p=babeltrace.git
-# babeltrace -n $HOME/lttng-traces/mysession-<date>-<time> | less
+# babeltrace $HOME/lttng-traces/mysession-<date>-<time> | less
VoilĂ !