* Babeltrace also includes a **Python binding** so that you may
easily open and read an LTTng trace with your own script, benefiting
from the power of Python.
- * The **<a href="https://eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunar" class="ext">
- Eclise IDE for C/C++ Developers</a>**
- includes the Tracing and Monitoring Framework (TMF) plugin which
- supports LTTng traces, amongst others.
- * <a href="http://projects.eclipse.org/projects/tools.tracecompass">Trace Compass</a>
- is an Eclipse plugin, the TMF plugin mentioned above moved to its own
- project, used to visualize and analyze various types of traces,
- including LTTng. It also comes as a standalone application and can be
- downloaded from
- <a href="http://secretaire.dorsal.polymtl.ca/~gbastien/TracingRCP/TraceCompass/">here</a>
- for a daily build of the latest source code. A version containing some
- experimental features like Virtual Machine analysis and Critical Path
- analysis is also available
- <a href="http://secretaire.dorsal.polymtl.ca/~gbastien/TracingRCP/DorsalExperimental/">here</a>.
+ * **<a href="http://projects.eclipse.org/projects/tools.tracecompass" class="ext">Trace Compass</a>**
+ is an Eclipse plugin used to visualize and analyze various types of
+ traces, including LTTng's. It also comes as a standalone application
+ and can be downloaded from
+ <a href="http://projects.eclipse.org/projects/tools.tracecompass/downloads" class="ext">here</a>.
LTTng trace files are usually recorded in the `~/lttng-traces` directory.
Let's now view the trace and perform a basic analysis using
babeltrace ~/lttng-traces/my-session
</pre>
-`babeltrace` will find all traces within the given path recursively and
-output all their events, merging them intelligently.
+`babeltrace` finds all traces within the given path recursively and
+prints all their events, merging them in order of time.
Listing all the system calls of a Linux kernel trace with their arguments is
easy with `babeltrace` and `grep`:
Counting events is also straightforward:
<pre class="term">
-babeltrace ~/lttng-traces/my-kernel-session | grep sys_read | wc -l
+babeltrace ~/lttng-traces/my-kernel-session | grep sys_read | wc --lines
</pre>
The text output of `babeltrace` is useful for isolating events by simple
last_ts = cur_ts
# display top 10
- for name, ns in exec_times.most_common()[:5]:
+ for name, ns in exec_times.most_common(5):
s = ns / 1000000000
print('{:20}{} s'.format(name, s))
</pre>
Make sure the path you provide is the directory containing actual trace
-files (`channel0_0`, `metadata`, etc.): the `babeltrace` utility recurses
-directories, but the Python binding does not.
+files (`channel0_0`, `metadata`, and the rest): the `babeltrace` utility
+recurses directories, but the Python binding does not.
Here's an example of output: