.\" Automatically generated by Pandoc 2.2.1 .\" .TH "UFTRACE\-TUI" "1" "Jun, 2018" "Uftrace User Manuals" "" .hy .SH NAME .PP uftrace\-tui \- (Interactive) Text\-based User Interface .SH SYNOPSIS .PP uftrace tui [\f[I]options\f[]] .SH DESCRIPTION .PP This command starts an interactive window on a terminal which can show same output of other commands like graph, report and info. Users can navigate the result easily with key presses. The command line options are used to limit the initial data loading. .SH OPTIONS .TP .B \-F \f[I]FUNC\f[], \-\-filter=\f[I]FUNC\f[] Set filter to trace selected functions only. This option can be used more than once. See \f[C]uftrace\-replay\f[](1) for an explanation of filters. .RS .RE .TP .B \-N \f[I]FUNC\f[], \-\-notrace=\f[I]FUNC\f[] Set filter not to trace selected functions (or the functions called underneath them). This option can be used more than once. See \f[C]uftrace\-replay\f[](1) for an explanation of filters. .RS .RE .TP .B \-T \f[I]TRG\f[], \-\-trigger=\f[I]TRG\f[] Set trigger on selected functions. This option can be used more than once. See \f[C]uftrace\-replay\f[](1) for an explanation of triggers. .RS .RE .TP .B \-t \f[I]TIME\f[], \-\-time\-filter=\f[I]TIME\f[] Do not show functions which run under the time threshold. If some functions explicitly have the `trace' trigger applied, those are always traced regardless of execution time. .RS .RE .TP .B \-\-tid=\f[I]TID\f[][,\f[I]TID\f[],\&...] Only print functions called by the given threads. To see the list of threads in the data file, you can use \f[C]uftrace\ report\ \-\-threads\f[] or \f[C]uftrace\ info\f[]. This option can also be used more than once. .RS .RE .TP .B \-D \f[I]DEPTH\f[], \-\-depth \f[I]DEPTH\f[] Set trace limit in nesting level. .RS .RE .TP .B \-r \f[I]RANGE\f[], \-\-time\-range=\f[I]RANGE\f[] Only show functions executed within the time RANGE. The RANGE can be ~ (separated by \[lq]~\[rq]) and one of and can be omitted. The and are timestamp or elapsed time if they have postfix, for example `100us'. The timestamp or elapsed time can be shown with \f[C]\-f\ time\f[] or \f[C]\-f\ elapsed\f[] option respectively in \f[C]uftrace\ replay\f[](1). .RS .RE .TP .B \-\-demangle=\f[I]TYPE\f[] Use demangled C++ symbol names for filters, triggers, arguments and/or return values. Possible values are \[lq]full\[rq], \[lq]simple\[rq] and \[lq]no\[rq]. Default is \[lq]simple\[rq] which ignores function arguments and template parameters. .RS .RE .TP .B \[en]match=\f[I]TYPE\f[] Use pattern match using TYPE. Possible types are \f[C]regex\f[] and \f[C]glob\f[]. Default is \f[C]regex\f[]. .RS .RE .TP .B \-\-no\-event Do not show any events. .RS .RE .SH OUTLINE .PP If there's only one session (the usual case) it'll start with the graph mode to show a full (function) call graph of the session. Users can change to different mode by pressing some keys. The \f[C]h\f[] key always is available for help. .PP The current line (marked with `>' below) is displayed with inverted color and arrow keys are used to move the cursor to a different location. .IP .nf \f[C] \ TOTAL\ TIME\ :\ FUNCTION >\ \ 7.548\ us\ :\ (1)\ t\-abc \ \ \ 1.811\ us\ :\ \ ├─(1)\ __monstartup \ \ \ \ \ \ \ \ \ \ \ \ :\ \ │ \ \ \ 1.266\ us\ :\ \ ├─(1)\ __cxa_atexit \ \ \ \ \ \ \ \ \ \ \ \ :\ \ │ \ \ \ 4.471\ us\ :\ \ └─(1)\ main \ \ \ 3.743\ us\ :\ \ \ \ (1)\ a \ \ \ 3.194\ us\ :\ \ \ \ (1)\ b \ \ \ 2.454\ us\ :\ \ \ \ (1)\ c \ \ \ 1.000\ us\ :\ \ \ \ (1)\ getpid \ \ uftrace\ graph:\ session\ 2a22812ebbd06f40\ (/tmp/uftrace/tests/t\-abc) \f[] .fi .PP If there're more than one session, it'll start with session selection mode. The graph mode is separated for each session but report mode is merged for the whole sessions. .IP .nf \f[C] \ Key\ uftrace\ command >\ G\ \ call\ Graph\ for\ session\ #1:\ t\-forkexec \ \ \ \ \ call\ Graph\ for\ session\ #2:\ t\-abc \ \ R\ \ Report\ functions \ \ I\ \ uftrace\ Info \ \ h\ \ Help\ message \ \ q\ \ quit \ \ session\ a27acff69aec5c9c:\ \ exe\ image:\ /tmp/uftrace/tests/t\-forkexec \f[] .fi .SH KEYS .PP Following keys can be used in the TUI window: .IP \[bu] 2 \f[C]Up\f[], \f[C]Down\f[]: Move cursor up/down .IP \[bu] 2 \f[C]PageUp\f[], \f[C]PageDown\f[]: Move page up/down .IP \[bu] 2 \f[C]Home\f[], \f[C]End\f[]: Move to the first/last entry .IP \[bu] 2 \f[C]Enter\f[]: Select. Fold/Unfold current function (in graph mode) .IP \[bu] 2 \f[C]G\f[]: Show full graph of the current session .IP \[bu] 2 \f[C]g\f[]: Show backtrace and call graph of the current function .IP \[bu] 2 \f[C]R\f[]: Show uftrace report .IP \[bu] 2 \f[C]I\f[]: Show uftrace info .IP \[bu] 2 \f[C]S\f[]: Show session list .IP \[bu] 2 \f[C]O\f[]: Open editor for current function .IP \[bu] 2 \f[C]c\f[]/\f[C]e\f[]: Collapse/Expand graph node .IP \[bu] 2 \f[C]n\f[]/\f[C]p\f[]: Move to next/prev sibling (in graph mode) .IP \[bu] 2 \f[C]u\f[]: Move up to parent (in graph mode) .IP \[bu] 2 \f[C]l\f[]: Move to the longest executed child (in graph mode) .IP \[bu] 2 \f[C]j\f[]/\f[C]k\f[]: Move cursor up/down (like vi) .IP \[bu] 2 \f[C]/\f[]: Start search .IP \[bu] 2 \f[C]<\f[]/\f[C]P\f[]: Search previous match .IP \[bu] 2 \f[C]>\f[]/\f[C]N\f[]: Search next match .IP \[bu] 2 \f[C]v\f[]: Show debug message .IP \[bu] 2 \f[C]h\f[]/\f[C]?\f[]: Show help window .IP \[bu] 2 \f[C]q\f[]: Quit .SH SEE ALSO .PP \f[C]uftrace\f[](1), \f[C]uftrace\-graph\f[](1), \f[C]uftrace\-report\f[](1), \f[C]uftrace\-info\f[](1), \f[C]uftrace\-replay\f[](1) .SH AUTHORS Namhyung Kim .