UFTRACE-INFO(1)

πŸ’« uftrace-info β€” the manual page, but make it cute

okay bestie, welcome to uftrace-info from the General Commands Manual section πŸ’– this is the little bestie that just... tells you stuff. specifically, it prints tracing info from the current trace data file. no cap. let's get into it 🫢


🌸 NAME 🌸

uftrace-info β€” print tracing information from the current trace data file ✨


πŸŽ€ SYNOPSIS πŸŽ€

uftrace info [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically this command prints all the metadata that got recorded in the header of whatever trace data file you're pointing at. it's giving "receipts for your trace" πŸ’…

and ALSO, because she's versatile, it can:

  • be used to generate a symbol table of the traced symbols πŸ‘‘
  • print a task relationship tree for all the recorded tasks in the trace 🌈

like?? multi-talented. we love to see it.


✨ OPTIONS ✨

  • --symbols [EXECUTABLE] β€” generates a symbol table for the given traced EXECUTABLE straight from the recorded trace data 🧚 peep the example down below for what the output actually looks like: it prints two symbol tables β€” normal symbols and dynamic symbols. the normal symbols are the traced functions inside the executable itself. the dynamic symbols are the traced library functions recorded in the trace. and because only the trace data is used to build this symbol info, it will contain different functions than the symbol table of the executable file itself. so don't come for her when they don't match, she's working with what she's got 😭
  • --task β€” prints a task relationship tree instead of the trace metadata 🌳

πŸ’– EXAMPLES πŸ’–

this command shows info like this, bestie:

$ uftrace record abc

$ uftrace info
# system information
# ==================
# program version     : v0.9 ( dwarf python tui perf sched )
# recorded on         : Wed Sep 19 17:30:39 2018
# cmdline             : uftrace record abc
# cpu info            : Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
# number of cpus      : 12 / 12 (online / possible)
# memory info         : 19.8 / 23.5 GB (free / total)
# system load         : 0.02 / 0.07 / 0.11 (1 / 5 / 15 min)
# kernel version      : Linux 4.5.4-1-ARCH
# hostname            : sejong
# distro              : "Arch Linux"
#
# process information
# ===================
# number of tasks     : 1
# task list           : 8284(abc)
# exe image           : /home/namhyung/tmp/abc
# build id            : a3c50d25f7dd98dab68e94ef0f215edb06e98434
# pattern             : regex
# exit status         : exited with code: 0
# elapsed time        : 0.003219479 sec
# cpu time            : 0.003 / 0.000 sec (sys / user)
# context switch      : 1 / 1 (voluntary / involuntary)
# max rss             : 3104 KB
# page fault          : 0 / 169 (major / minor)
# disk iops           : 0 / 24 (read / write)

and to see the symbol table, you hit her with the --symbols option πŸŽ€

$ uftrace info --symbols
Normal symbols
==============
[ 0] _start (0x400590) size: 42
[ 1] __gmon_start__ (0x4005c0) size: 59
[ 2] a (0x4006c6) size: 19
[ 3] b (0x4006d9) size: 19
[ 4] c (0x4006ec) size: 49
[ 5] main (0x40071d) size: 19
[ 6] __libc_csu_init (0x400730) size: 101
[ 7] __libc_csu_fini (0x4007a0) size: 2
[ 8] atexit (0x4007b0) size: 41

Dynamic symbols
===============
[ 0] getpid (0x400530) size: 16
[ 1] _mcleanup (0x400540) size: 16
[ 2] __libc_start_main (0x400550) size: 16
[ 3] __monstartup (0x400560) size: 16
[ 4] mcount (0x400570) size: 16
[ 5] __cxa_atexit (0x400580) size: 16

and the --task option shows you the whole task family hierarchy, like a little family tree but for processes πŸ‘‘

$ uftrace info --task
[166399] parent
      [166401] child

🌈 SEE ALSO 🌈

uftrace(1), uftrace-record(1), uftrace-tui(1) πŸ¦‹


πŸ’œ AUTHORS πŸ’œ

Namhyung Kim namhyung@gmail.com πŸ‘‘


and that's the whole page, bestie!! this lil cutie lives in the Uftrace User Manuals, version-flavored Sep, 2018, and you can find her filed under UFTRACE-INFO(1) πŸ’…βœ¨ mwah, go trace something iconic 🫢

πŸ“¦ where this page comes from