Provided by: uftrace_0.14-1_amd64 bug

NAME

       uftrace - Function graph tracer for userspace

SYNOPSIS

       uftrace   [record|replay|live|report|info|dump|recv|graph|script|tui]   [options]  COMMAND
       [command-options]

DESCRIPTION

       The uftrace tool is a function tracer that traces the execution of given  COMMAND  at  the
       function   level.    COMMAND  should  be  a  C  or  C++  executable  built  with  compiler
       instrumentation (-pg or -finstrument-functions).  COMMAND needs  to  have  an  ELF  symbol
       table  (i.e. not  be  strip(1)-ed)  in  order  for  the  names  of  traced functions to be
       available.

       The uftrace command consists of a number of sub-commands,  in  the  manner  of  git(1)  or
       perf(1).    Below  is  a  short  description  of  each  sub-command.   For  more  detailed
       information, see the respective manual pages.  The options in this page can  be  given  to
       any sub-command also.

       For  convenience,  if no sub-command is given, uftrace acts as though the live sub-command
       was specified, which runs the record and replay sub-commands in turn.  See uftrace-live(1)
       for  options  belonging to the live sub-command.  For more detailed analysis, it is better
       to use uftrace-record(1) to save trace data,  and  then  analyze  it  with  other  uftrace
       commands  like  uftrace-replay(1),  uftrace-report(1),  uftrace-info(1),  uftrace-dump(1),
       uftrace-script(1) or uftrace-tui(1).

SUB-COMMANDS

       record Run a given command and save trace data in a data file or directory.

       replay Print recorded function trace data with time durations.

       live   Do live tracing.  Print function trace of the given command.

       report Print various statistics and summary of the recorded trace data.

       info   Print side-band information like OS version, CPU info, command line and so on.

       dump   Print raw tracing data in the data files.

       recv   Save tracing data sent to network

       graph  Print function call graph

       script Run a script for recorded function trace

       tui    Show text user interface for graph and report

COMMON OPTIONS

       These are the common options supported by all uftrace subcommands:

       -h, --help
              Print help message and list of options with description

       --usage
              Print usage string

       -V, --version
              Print program version

       -v, --verbose
              Print verbose messages.  This option increases a debug level and  can  be  used  at
              most 3 times.

       --debug
              Print debug messages.  This option is same as -v/--verbose and is provided only for
              backward compatibility.

       --debug-domain=DOMAIN[,DOMAIN, ...]
              Limit the printing of debug messages to those  belonging  to  one  of  the  DOMAINs
              specified.   Available  domains  are:  uftrace,  symbol,  demangle, filter, fstack,
              session, kernel, mcount, dynamic, event, script and dwarf.  The domains can have an
              their  own  debug level optionally (preceded by a colon).  For example, -v --debug-
              domain=filter:2 will apply debug level of 2 to the “filter” domain and apply  debug
              level of 1 to others.

       -d DATA, --data=DATA
              Specify name of trace data (directory).  Default is uftrace.data.

       --logfile=FILE
              Save warning and debug messages into this file instead of stderr.

       --color=VAL
              Enable  or disable color on the output.  Possible values are “yes”(= “true” | “1” |
              “on” ), “no”(= “false” | “0” | “off” ) and “auto”.  The “auto” value is default and
              turns on coloring if stdout is a terminal.

       --no-pager
              Do not use a pager.

       --opt-file=FILE
              Read command-line options from the FILE.

SUBCOMMAND-SPECIFIC OPTIONS

       These  options  are  listed  here  for  completeness, but are only effective with specific
       subcommands.

       Please see the uftrace-<subcommand> manual pages for  more  information:  The  manual  for
       uftrace-live(1)  is special: The subcommand live does record and replay internally.  Thus,
       it describes most regular option in detail.

       --avg-self
              Show average/min/max of self function time

       --avg-total
              Show average/min/max of total function time

       -a, --auto-args
              Show arguments and return value of known functions

       -A, --argument=FUNC@arg[,arg,...]
              Show function arguments

       -b, --buffer=SIZE
              Size of tracing buffer (default: 128K)

       --chrome
              Dump recorded data in chrome trace format

       --clock
              Set clock source for timestamp (default: mono)

       --column-offset=DEPTH
              Offset of each column (default: 8)

       --column-view
              Print tasks in separate columns

       -C, --caller-filter=FUNC
              Only trace callers of those FUNCs

       --demangle=TYPE
              C++ symbol demangling: full, simple, no (default: simple)

       --diff=DATA
              Report differences

       --diff-policy=POLICY
              Control diff report policy (default: `abs,compact,no-percent')

       --disable
              Start with tracing disabled

       -D, --depth=DEPTH
              Trace functions within DEPTH

       -e, --estimate-return
              Use only entry record type for safety

       --event-full
              Show all events outside of function

       -E, --Event=EVENT
              Enable EVENT to save more information

       --flame-graph
              Dump recorded data in FlameGraph format

       --flat Use flat output format

       --force
              Trace even if executable is not instrumented

       --format=FORMAT
              Use FORMAT for output: normal, html (default: normal)

       -f, --output-fields=FIELD
              Show FIELDs in the replay or graph output

       -F, --filter=FUNC
              Only trace those FUNCs

       -g, --agent
              Start an agent in mcount to listen to commands

       --graphviz
              Dump recorded data in DOT format

       -H, --hide=FUNC
              Hide FUNCs from trace

       --host=HOST
              Send trace data to HOST instead of write to file

       -k, --kernel
              Trace kernel functions also (if supported)

       --keep-pid
              Keep same pid during execution of traced program

       --kernel-buffer=SIZE
              Size of kernel tracing buffer (default: 1408K)

       --kernel-full
              Show kernel functions outside of user

       --kernel-only
              Dump kernel data only

       --kernel-skip-out
              Skip kernel functions outside of user (deprecated)

       -K, --kernel-depth=DEPTH
              Trace kernel functions within DEPTH

       --libmcount-single
              Use single thread version of libmcount

       --list-event
              List available events

       --logfile=FILE
              Save warning and debug messages into this file instead of stderr.

       -l, --nest-libcall
              Show nested library calls

       --libname
              Show libname name with symbol name

       --libmcount-path=PATH
              Load libmcount libraries from this PATH

       --match=TYPE
              Support pattern match: regex, glob (default: regex)

       --max-stack=DEPTH
              Set max stack depth to DEPTH (default: 65535)

       --no-args
              Do not show arguments and return value

       --no-comment
              Don’t show comments of returned functions

       --no-event
              Disable (default) events

       --no-sched
              Disable schedule events

       --no-sched-preempt
              Hide pre-emptive schedule event but show regular(sleeping) schedule event

       --no-libcall
              Don’t trace library function calls

       --no-merge
              Don’t merge leaf functions

       --no-pltbind
              Do not bind dynamic symbols (LD_BIND_NOT)

       --no-randomize-addr
              Disable ASLR (Address Space Layout Randomization)

       --nop  No operation (for performance test)

       --num-thread=NUM
              Create NUM recorder threads

       -N, --notrace=FUNC
              Don’t trace those FUNCs

       -p, --pid=PID
              Connect to the PID of an interactive mcount instance

       --port=PORT
              Use PORT for network connection (default: 8090)

       -P, --patch=FUNC
              Apply dynamic patching for FUNCs

       --record
              Record a new trace before running given script

       --report
              Show a live report before replay

       --rt-prio=PRIO
              Record with real-time (FIFO) priority

       -r, --time-range=TIME~TIME Show output within the TIME(timestamp or elapsed time)
              range only

       --run-cmd=CMDLINE
              Command line that want to execute after tracing data received

       -R, --retval=FUNC[@retspec]
              Show function return values for FUNC, optionally with given uftrace retspec

       --sample-time=TIME
              Show flame graph with this sampling time

       --signal=SIGNAL@act[,act,...]
              Trigger the given actions when the given SIGNAL is received

       --sort-column=INDEX
              Sort diff report on column INDEX (default: 2)

       --srcline
              Enable recording source line info

       --symbols
              Print symbol table instead of the recorded tracing info

       -s, --sort=KEY[,KEY,...]
              Sort reported functions by KEYs (default: 2)

       -S, --script=SCRIPT
              Run a given SCRIPT in function entry and exit

       -t, --time-filter=TIME
              Hide small functions run less than the TIME

       --task

       --task-newline
              Interleave a newline when task is changed

       --tid=TID[,TID,...]
              Only replay those tasks

       --time Print time information

       -T, --trigger=FUNC@act[,act,...]
              Trigger action on those FUNCs

       -U, --unpatch=FUNC
              Don’t apply dynamic patching for FUNCs

       --with-syms=DIR
              Use symbol files in the DIR

       -W, --watch=POINT
              Watch and report POINT if it’s changed

       -Z, --size-filter=SIZE
              Apply dynamic patching for functions bigger than SIZE

       For more detail about these command-specific options, please see the more specific  manual
       pages listed below.

SEE ALSO

       uftrace-live(1), uftrace-record(1), uftrace-replay(1), uftrace-report(1), uftrace-info(1),
       uftrace-dump(1), uftrace-recv(1), uftrace-graph(1), uftrace-script(1), uftrace-tui(1)

AUTHORS

       Namhyung Kim <namhyung@gmail.com>.