Provided by: uftrace_0.9.4-0.2ubuntu1_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 ad‐
       ditional 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.

       --debug
              Show hex dump of data as well

       --sample-time=TIME
              Apply  sampling  time  when  generating output for –flame-graph.  By default it uses the number of
              calls for each function.  When this option is used it simulates  sampling  by  counting  execution
              time  at  the given unit.  So functions which ran less than the sampling time will be removed from
              the output but functions longer than the time will be shown as larger.

COMMON OPTIONS

       -F FUNC, --filter=FUNC
              Set filter to trace selected functions (and the functions called underneath them) only.  This  op‐
              tion 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 (or the functions called underneath them).  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.

       --no-libcall
              Do not show library calls.

       --no-event
              Do not show any events.

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

COMMON ANALYSIS OPTIONS

       --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>.

Uftrace User Manuals                                Sep, 2018                                    UFTRACE-DUMP(1)