X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=contents%2Fgetting-started%2Fviewing-and-analyzing.md;h=a00a81412c812e87889c1c57842ddbff33b01388;hb=1ad5c0f7392f92037b569ff97a425a35c2a17f3e;hp=e49cc5a0c464010d09797e2df18f4088e7496a9e;hpb=b9eb413c78f288db3d07434bae6a8c54638b8692;p=lttng-docs.git diff --git a/contents/getting-started/viewing-and-analyzing.md b/contents/getting-started/viewing-and-analyzing.md index e49cc5a..a00a814 100644 --- a/contents/getting-started/viewing-and-analyzing.md +++ b/contents/getting-started/viewing-and-analyzing.md @@ -5,28 +5,22 @@ id: viewing-and-analyzing-your-traces This section describes how to visualize the data gathered after tracing the Linux kernel or a user space application. -Many ways exist to read your LTTng traces: +Many ways exist to read LTTng traces: * **`babeltrace`** is a command line utility which converts trace formats; it supports the format used by LTTng, CTF, as well as a basic text output which may be `grep`ed. The `babeltrace` command is part of the - Babeltrace project. - * Babeltrace also includes a **Python binding** so that you may + Babeltrace project. + * Babeltrace also includes **Python bindings** so that you may easily open and read an LTTng trace with your own script, benefiting from the power of Python. - * **Trace Compass** + * **Trace Compass** 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 - here - 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 - here. - -LTTng trace files are usually recorded in the `~/lttng-traces` directory. + traces, including LTTng's. It also comes as a standalone application. + +LTTng trace files are recorded in the `~/lttng-traces` directory by default. Let's now view the trace and perform a basic analysis using `babeltrace`. @@ -37,8 +31,8 @@ path to `babeltrace` with no options: babeltrace ~/lttng-traces/my-session -`babeltrace` will find all traces within the given path recursively and -output all their events, merging them intelligently. +`babeltrace` finds all traces recursively within the given path 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`: @@ -60,13 +54,13 @@ are not trivial to write using a shell. Moreover, reductions and even the most basic computations involving multiple events are virtually impossible to implement. -Fortunately, Babeltrace ships with a Python 3 binding which makes it +Fortunately, Babeltrace ships with Python 3 bindings which makes it really easy to read the events of an LTTng trace sequentially and compute the desired information. -Here's a simple example using the Babeltrace Python binding. The following +Here's a simple example using the Babeltrace Python bindings. The following script accepts an LTTng Linux kernel trace path as its first argument and -outputs the short names of the top 5 running processes on CPU 0 during the +prints the short names of the top 5 running processes on CPU 0 during the whole trace: ~~~ python @@ -147,8 +141,8 @@ python3 top5proc.py ~/lttng-sessions/my-session-.../kernel 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 bindings do not. Here's an example of output: