[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#839877: ITP: uftrace -- Traces and analyzes execution of programs written in C/C++



Package: wnpp
Severity: wishlist
Owner: paul cannon <pik@debian.org>

* Package name    : uftrace
  Version         : 0.6.0.20161004-1
  Upstream Author : Namhyung Kim <namhyung.kim@lge.com>
* URL             : https://github.com/namhyung/uftrace/
* License         : GPL
  Programming Lang: C
  Description     : Traces and analyzes execution of programs written in C/C++

The uftrace tool is intended for tracing and analyzing the execution of
programs written in C or C++. It was heavily inspired by the ftrace
framework of the Linux kernel (especially the function graph tracer) and
supports userspace programs. It supports various kinds of commands and
filters to help analysis of the program's execution and performance.

It traces each function in the executable and shows time durations. It
can also trace external library calls - but only entry and exit are
supported, and internal function calls within the library cannot be
traced unless the library itself was built with profiling enabled.

It can show detailed execution flow at function level, and report which
function has the highest overhead. It also shows various information
related to the execution environment.

You can setup filters to exclude or include specific functions when
tracing. In addition, function arguments and return values can be saved
and shown later.

The uftrace tool supports multi-process and/or multi-threaded
applications. It can also trace kernel functions as well, with root
privileges and if the system enables the function graph tracer in the
kernel (CONFIG_FUNCTION_GRAPH_TRACER=y).


 - why is this package useful/relevant? is it a dependency for
   another package? do you use it? if there are other packages
   providing similar functionality, how does it compare?

Cachegrind provides similar functionality, but only provides information
in aggregate, whereas uftrace will collect the entire stack and provide
pretty output for visualization. It is more of a "tracer" than a
sample-and-aggregate tool. Intel has a profiler called VTune(tm)
Amplifier which also fills a related niche, but it is not free software.

 - how do you plan to maintain it? inside a packaging team
   (check list at https://wiki.debian.org/Teams)? are you
   looking for co-maintainers? do you need a sponsor?

Should be simple enough to self-maintain. No sponsor needed. I'm on
LowThresholdNmu.


Reply to: