# uftrace

From the uftrace github page. The uftrace tool is a tool that traces and analyzes the execution of a program written in C/C++. It was heavily inspired by the ftrace framework of the Linux kernel (especially function graph tracer) and supports userspace programs. It supports various kind of commands and filters to help analyze the program execution and performance.

This extension supports UfTrace traces. It populates a call graph and therefore will pupulate most of the views of the generic callstack analysis.

The parser handles native uftrace traces. In order to open one, select any file within a uftrace directory.

## Correlate with other traces

Uftrace data can be correlated with the data from other traces, such as kernel traces. To correlate traces, their host ID need to match, which means they were taken from the same machine. A file named 'hostid' can be added to the uftrace.data directory containing the uftrace data. This file has only one line which is the host ID.

When correlating with traces that come from [LTTng]( http://lttng.org) for instance, the [time offset may also need to be adjusted]( https://archive.eclipse.org/tracecompass/doc/stable/org.eclipse.tracecompass.doc.user/Time-offsetting.html#Time_offsetting), since the time reference is not the same. The offset to put can be found, along with the LTTng's host ID in the ``Properties`` view, when selecting the trace.