UFTRACE-TUI(1)
πΈ NAME πΈ
uftrace-tui β the (Interactive) Text-based User Interface, aka the cute little window you get for uftrace-tui(1) from the General Commands Manual π
β¨ SYNOPSIS β¨
uftrace tui [options]
π DESCRIPTION π
Okay bestie, listen. This command pops open an interactive window right there in your terminal, and the way it works is: it can show you the same output as other commands like graph, report and info π. You just navigate the results with key presses β no cap, super easy. And the command line options? Those are there to limit the initial data loading, so you don't drag in the whole universe on startup. Periodt. π
π TUI OPTIONS π
-f FIELD,--output-fields=FIELDβ Customize the fields in the output, slay. This one basically indicates graph fields. Possible values aretotal,self,addr,total-avg,total-max,total-min,self-avg,self-maxandself-min. The default value istotal. But β plot twist π«Ά β if this option is used together with the--reportoption, then it indicates report fields instead. Possible values there aretotal,total-avg,total-min,total-max,total-stdv,self,self-avg,self-min,self-max,self-stdv,callandsize. The default value istotal,self,call. You can set multiple fields by using a comma. And if the field name you give starts with+, then it'll be appended to the default fields β¨. There's also a special fieldnonethat can be used (solely) to hide all fields. Seeuftrace-graph(1)oruftrace-report(1)for an explanation of fields. Oh and thestdvintotal-stdvandself-stdvstands for relative standard deviation (RSD) β it would only contain a value if the function is invoked multiple times. Iykyk π₯-s KEYS[,KEYS,...],--sort=KEYS[,KEYS,...]β Sort functions by the given KEYS. Multiple KEYS can be given, separated by a comma (,). Possible keys aretotal(time),total-avg,total-min,total-max,self(time),self-avg,self-min,self-max,call,funcandsize. Heads up: this option must be used with the--reportoption, bestie. π«Ά
π«Ά COMMON OPTIONS π«Ά
-F FUNC,--filter=FUNCβ Set a filter to trace the selected functions and their children functions. This option can be used more than once. Seeuftrace-replay(1)for an explanation of filters π-N FUNC,--notrace=FUNCβ Set a filter to not trace the selected functions and their children functions. This option can be used more than once. Seeuftrace-replay(1)for an explanation of filters π-C FUNC,--caller-filter=FUNCβ Set a filter to trace the callers of selected functions only. This option can be used more than once. Seeuftrace-replay(1)for an explanation of filters.-T TRG,--trigger=TRGβ Set a trigger on the selected functions. This option can be used more than once. Seeuftrace-replay(1)for an explanation of triggers π₯-D DEPTH,--depth DEPTHβ Set the trace limit in nesting level.-t TIME,--time-filter=TIMEβ Do not show functions which run under the time threshold. But if some functions explicitly have thetracetrigger applied, those are always traced regardless of execution time β no takebacks. π-Z SIZE,--size-filter=SIZEβ Do not show functions smaller than SIZE bytes.-L LOCATION,--loc-filter=LOCATIONβ Set a filter to trace selected source locations. This option can be used more than once. See FILTERS.--no-libcallβ Do not show library calls.--no-eventβ Do not show any events. Implies--no-sched.--no-schedβ Do not show schedule events.--no-sched-preemptβ Do not show preempt schedule events, but still show regular(sleeping) schedule events.--match=TYPEβ Use pattern matching with TYPE. Possible types areregexandglob. Default isregex.--with-syms=DIRβ Read symbol data from the.symfiles in the DIR directory instead of from the binary. This can be useful to deal with stripped binaries. The file name of the main binary should be the same when saved and used. πΈ
π¦ COMMON ANALYSIS OPTIONS π¦
-H FUNC,--hide=FUNCβ Set a filter not to trace the selected functions. It doesn't affect their subtrees β it hides only the given functions. This option can be used more than once. Seeuftrace-replay(1)for an explanation of filters.--kernel-fullβ Show all kernel functions called outside of user functions.--kernel-onlyβ Show kernel functions only, without user functions.--event-fullβ Show all (user) events outside of user functions.--tid=TID[,TID,...]β Only print functions called by the given tasks. To see the list of tasks in the data file, you can useuftrace report --taskoruftrace info. This option can also be used more than once. π§--demangle=TYPEβ Use demangled C++ symbol names for filters, triggers, arguments and/or return values. Possible values are"full","simple"and"no". Default is"simple", which ignores function arguments and template parameters.-r RANGE,--time-range=RANGEβ Only show functions executed within the time RANGE. The RANGE can be<start>~<stop>(separated by~) and one of<start>and<stop>can be omitted. The<start>and<stop>are timestamp or elapsed time if they have a<time_unit>postfix, for example100us. The timestamp or elapsed time can be shown with the-f timeor-f elapsedoption respectively inuftrace replay(1). β
π OUTLINE π
If there's only one session (the usual case, honestly) it'll start up in the graph mode to show a full (function) call graph of the session. You can hop between different modes by pressing some keys β and the h key is always available for help. Always. Bestie behavior fr fr π
The current line (marked with > in the example below) is displayed with inverted color, and the arrow keys are used to move the cursor to a different location.
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)
If there's more than one session, it'll start with session selection mode instead. Quick lore drop: the graph mode is separated for each session, but the report mode is merged for the whole sessions. π¦
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
π§ KEYS π§
Following keys can be used in the TUI window:
- Up, Down: Move cursor up/down
- PageUp, PageDown: Move page up/down
- Home, End: Move to the first/last entry
- Enter: Fold/unfold graph or Select session
G: Show full graph of the current sessiong: Show backtrace and call graph of the current functionR: Showuftrace reportr: Showuftrace reportof the current functions: Sort by the next column (in report mode)I: Showuftrace infoS: Show session listO: Open editor for current functionc/e: Collapse/Expand direct children graph nodeC/E: Collapse/Expand all descendant graph noden/p: Move to next/prev sibling (in graph mode)u: Move up to parent (in graph mode)l: Move to the longest executed child (in graph mode)j/k: Move cursor up/down (likevi)z: Set current line to the center of screen/: Start search</P: Search previous match>/N: Search next matchv: Show debug messagef: Customize fields in graph or report modeh/?: Show help windowq: Quit
π SEE ALSO π
uftrace(1), uftrace-graph(1), uftrace-report(1), uftrace-info(1), uftrace-replay(1)
π AUTHORS π
Namhyung Kim <namhyung@gmail.com> β the icon who wrote this π
And that's the whole page, bestie! π This was the Uftrace User Manuals, dated Jun, 2018 β so you know it's vintage and still serving. Go forth and navigate those graphs, you absolute main character. β¨π¦π
π¦ where this page comes from
- nixos 26.05: uftrace 0.19
- nixpkgs unstable: uftrace 0.20
- ubuntu stonking: uftrace 0.19-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms