• Andi Kleen's avatar
    perf script: Support relative time · 90b10f47
    Andi Kleen authored
    When comparing time stamps in 'perf script' traces it can be annoying to
    work with the full perf time stamps.
    
    Add a --reltime option that displays time stamps relative to the trace
    start to make it easier to read the traces.
    
    Note: not currently supported for --time. Report an error in this
    case.
    
    Before:
    
      % perf script
          swapper 0 [000] 245402.891216:    1 cycles:ppp: ffffffffa0068814 native_write_msr+0x4 ([kernel.kallsyms])
          swapper 0 [000] 245402.891223:    1 cycles:ppp: ffffffffa0068814 native_write_msr+0x4 ([kernel.kallsyms])
          swapper 0 [000] 245402.891227:    5 cycles:ppp: ffffffffa0068814 native_write_msr+0x4 ([kernel.kallsyms])
          swapper 0 [000] 245402.891231:   41 cycles:ppp: ffffffffa0068816 native_write_msr+0x6 ([kernel.kallsyms])
          swapper 0 [000] 245402.891235:  355 cycles:ppp: ffffffffa000dd51 intel_bts_enable_local+0x21 ([kernel.kallsyms])
          swapper 0 [000] 245402.891239: 3084 cycles:ppp: ffffffffa0a0150a end_repeat_nmi+0x48 ([kernel.kallsyms])
    
    After:
    
      % perf script --reltime
    
          swapper 0 [000]     0.000000:    1 cycles:ppp: ffffffffa0068814 native_write_msr+0x4 ([kernel.kallsyms])
          swapper 0 [000]     0.000006:    1 cycles:ppp: ffffffffa0068814 native_write_msr+0x4 ([kernel.kallsyms])
          swapper 0 [000]     0.000010:    5 cycles:ppp: ffffffffa0068814 native_write_msr+0x4 ([kernel.kallsyms])
          swapper 0 [000]     0.000014:   41 cycles:ppp: ffffffffa0068816 native_write_msr+0x6 ([kernel.kallsyms])
          swapper 0 [000]     0.000018:  355 cycles:ppp: ffffffffa000dd51 intel_bts_enable_local+0x21 ([kernel.kallsyms])
          swapper 0 [000]     0.000022: 3084 cycles:ppp: ffffffffa0a0150a end_repeat_nmi+0x48 ([kernel.kallsyms])
    
    Committer notes:
    
    Do not use 'time' as the name of a variable, as this breaks the build on
    older glibcs:
    
      cc1: warnings being treated as errors
      builtin-script.c: In function 'perf_sample__fprintf_start':
      builtin-script.c:691: warning: declaration of 'time' shadows a global declaration
      /usr/include/time.h:187: warning: shadowed declaration is here
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    LPU-Reference: 20190314225002.30108-8-andi@firstfloor.org
    Link: https://lkml.kernel.org/n/tip-bpahyi6pr9r399mvihu65fvc@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    90b10f47
perf-script.txt 14.4 KB