Provided by: uftrace_0.9.3-1ubuntu1_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.

       --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 only.  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 (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 threads.  To see the list of threads in the data file,
              you can use uftrace report --threads 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>.