Provided by: uftrace_0.13-1_amd64 bug

NAME

       uftrace-dump - Print raw tracing data in the data files

SYNOPSIS

       uftrace dump [options]

DESCRIPTION

       This  command  shows  raw  tracing data recorded in the data file.  The dump format can be
       configured by additional options such as –chrome, –flame-graph, or –graphviz.

DUMP OPTIONS

       --chrome
              Show JSON style output as used by the Google Chrome tracing facility.

       --flame-graph
              Show FlameGraph style output viewable by modern web browsers (after  processing  by
              the FlameGraph tool).

       --graphviz
              Show DOT style output used by the graphviz toolkit.

       --mermaid
              Show graph as mermaid flowchart diagram.  It can be rendered in the browser.

       --debug
              Show hex dump of data as well

       --sample-time=TIME
              Apply  sampling time when generating output for –flame-graph.  By default, it tries
              to find a period from 1 usec to 1 sec where it keeps the total  number  of  samples
              under 1 million (in a single-threaded program).  You can override the sampling time
              with this option explicitly.  Note that functions which ran less than the  sampling
              time will be removed from the output and functions ran longer than the time will be
              shown as larger.

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

COMMON OPTIONS

       -F FUNC, --filter=FUNC
              Set filter to trace selected functions and their children functions.   This  option
              can be used more than once.  See uftrace-replay(1) for an explanation of filters.

       -N FUNC, --notrace=FUNC
              Set  filter  not  to  trace  selected functions and their children functions.  This
              option can be used more than once.  See uftrace-replay(1)  for  an  explanation  of
              filters.

       -C FUNC, --caller-filter=FUNC
              Set  filter  to  trace callers of selected functions only.  This option can be used
              more than once.  See uftrace-replay(1) for an explanation of filters.

       -T TRG, --trigger=TRG
              Set trigger on selected functions.  This option can be used more  than  once.   See
              uftrace-replay(1) for an explanation of triggers.

       -D DEPTH, --depth DEPTH
              Set trace limit in nesting level.

       -t TIME, --time-filter=TIME
              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.

       -Z SIZE, --size-filter=SIZE
              Do not show functions smaller than SIZE bytes.

       -L LOCATION, --loc-filter=LOCATION
              Set  filter  to trace selected source locations.  This option can be used more than
              once.

       --no-libcall
              Do not show library calls.

       --no-event
              Do not show any events.  Implies --no-sched.

       --no-sched
              Do not show schedule events.

       --match=TYPE
              Use pattern match using TYPE.  Possible types  are  regex  and  glob.   Default  is
              regex.

       --with-syms=DIR
              Read  symbol data from the .sym files in DIR directory instead of 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  filter not to trace selected functions.  It doesn’t affect their subtrees, but
              hides only the given functions.  This option can  be  used  more  than  once.   See
              uftrace-replay(1) for an explanation of filters.

       --kernel-full
              Show  all  kernel  functions called outside of user functions.  This option is only
              meaningful when used with --chrome, --flame-graph or --graphviz options.

       --kernel-only
              Dump kernel functions only without user functions.

       --event-full
              Show all (user) events outside of user functions.  This option is  only  meaningful
              when used with --chrome, --flame-graph or --graphviz options.

       --tid=TID[,TID,...]
              Only  print  functions  called by the given tasks.  To see the list of tasks in the
              data file, you can use uftrace report --task or uftrace 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 <time_unit>
              postfix, for example `100us'.  The timestamp or elapsed time can be shown  with  -f
              time or -f elapsed option respectively in uftrace replay(1).

EXAMPLE

       This command dumps data like below:

              $ uftrace record abc

              $ uftrace dump
              uftrace file header: magic         = 4674726163652100
              uftrace file header: version       = 4
              uftrace file header: header size   = 40
              uftrace file header: endian        = 1 (little)
              uftrace file header: class         = 2 (64 bit)
              uftrace file header: features      = 0x63 (PLTHOOK | TASK_SESSION | SYM_REL_ADDR | MAX_STACK)
              uftrace file header: info          = 0x3ff

              reading 23043.dat
              105430.415350255  23043: [entry] __monstartup(4004d0) depth: 0
              105430.415351178  23043: [exit ] __monstartup(4004d0) depth: 0
              105430.415351932  23043: [entry] __cxa_atexit(4004f0) depth: 0
              105430.415352687  23043: [exit ] __cxa_atexit(4004f0) depth: 0
              105430.415353833  23043: [entry] main(400512) depth: 0
              105430.415353992  23043: [entry] a(4006b2) depth: 1
              105430.415354112  23043: [entry] b(4006a0) depth: 2
              105430.415354230  23043: [entry] c(400686) depth: 3
              105430.415354425  23043: [entry] getpid(4004b0) depth: 4
              105430.415355035  23043: [exit ] getpid(4004b0) depth: 4
              105430.415355549  23043: [exit ] c(400686) depth: 3
              105430.415355761  23043: [exit ] b(4006a0) depth: 2
              105430.415355943  23043: [exit ] a(4006b2) depth: 1
              105430.415356109  23043: [exit ] main(400512) depth: 0

              $ uftrace dump --chrome -F main
              {"traceEvents":[
              {"ts":105430415353,"ph":"B","pid":23043,"name":"main"},
              {"ts":105430415353,"ph":"B","pid":23043,"name":"a"},
              {"ts":105430415354,"ph":"B","pid":23043,"name":"b"},
              {"ts":105430415354,"ph":"B","pid":23043,"name":"c"},
              {"ts":105430415354,"ph":"B","pid":23043,"name":"getpid"},
              {"ts":105430415355,"ph":"E","pid":23043,"name":"getpid"},
              {"ts":105430415355,"ph":"E","pid":23043,"name":"c"},
              {"ts":105430415355,"ph":"E","pid":23043,"name":"b"},
              {"ts":105430415355,"ph":"E","pid":23043,"name":"a"},
              {"ts":105430415356,"ph":"E","pid":23043,"name":"main"}
              ], "metadata": {
              "command_line":"uftrace record abc ",
              "recorded_time":"Tue May 24 19:44:54 2016"
              } }

              $ uftrace dump --flame-graph --sample-time 1us
              main 1
              main;a;b;c 1

              $ uftrace dump --graphviz
              \# command_line "uftrace record tests/t-abc"
              digraph "/home/m/git/uftrace/tests/t-abc" {
                      \# Attributes
                      splines=ortho;
                      concentrate=true;
                      node [shape="rect",fontsize="7",style="filled"];
                      edge [fontsize="7"];
                      \# Elements
                      main[xlabel = "Calls : 1"]
                      main->a[xlabel = "Calls : 1"]
                      a->b[xlabel = "Calls : 1"]
                      b->c[xlabel = "Calls : 1"]
                      c->getpid[xlabel = "Calls : 1"]
              }

SEE ALSO

       uftrace(1), uftrace-record(1), uftrace-replay(1)

AUTHORS

       Namhyung Kim <namhyung@gmail.com>.