Binary package “uftrace” in ubuntu focal

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 usually only entry and exit are
 supported. It is also possible to trace other (nested) external library calls
 and/or internal function calls in the library call.
 .
 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).