• A
    perf script: Set up output options for in-stream attributes · 7ea95727
    Adrian Hunter 提交于
    Attributes (struct perf_event_attr) are recorded separately in the
    perf.data file.  perf script uses them to set up output options.
    However attributes can also be in the event stream, for example when the
    input is a pipe (i.e. live mode).  This patch makes perf script process
    in-stream attributes in the same way as on-file attributes.
    
    Here is an example:
    
    Before this patch:
    
    $ perf record uname | perf script
    Linux
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.015 MB (null) (~655 samples) ]
    :4220  4220 [-01] 2933367.838906: cycles:
    
    :4220  4220 [-01] 2933367.838910: cycles:
    
    :4220  4220 [-01] 2933367.838912: cycles:
    
    :4220  4220 [-01] 2933367.838914: cycles:
    
    :4220  4220 [-01] 2933367.838916: cycles:
    
    :4220  4220 [-01] 2933367.838918: cycles:
    
    uname  4220 [-01] 2933367.838938: cycles:
    
    uname  4220 [-01] 2933367.839207: cycles:
    
    After this patch:
    
    $ perf record uname | perf script
    Linux
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.015 MB (null) (~655 samples) ]
               :4582  4582 2933425.707724: cycles:  ffffffff81043ffa native_write_msr_safe ([kernel.kallsyms])
               :4582  4582 2933425.707728: cycles:  ffffffff81043ffa native_write_msr_safe ([kernel.kallsyms])
               :4582  4582 2933425.707730: cycles:  ffffffff81043ffa native_write_msr_safe ([kernel.kallsyms])
               :4582  4582 2933425.707732: cycles:  ffffffff81043ffa native_write_msr_safe ([kernel.kallsyms])
               :4582  4582 2933425.707734: cycles:  ffffffff81043ffa native_write_msr_safe ([kernel.kallsyms])
               :4582  4582 2933425.707736: cycles:  ffffffff81309a24 memcpy ([kernel.kallsyms])
               uname  4582 2933425.707760: cycles:  ffffffff8109c1c7 enqueue_task_fair ([kernel.kallsyms])
               uname  4582 2933425.707978: cycles:  ffffffff81308457 clear_page_c ([kernel.kallsyms])
    Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Namhyung Kim <namhyung@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/r/1383313899-15987-3-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    7ea95727
builtin-script.c 37.7 KB